I mean, I knew all the language rules about throw, try {} catch {}, but I am not sure if I am using them correctly in the real world. Please see the following example:
我们有一大批科学法典,它处理各种图像,我们最近决定予以采纳,使之更加有力。 经常使用的一种例行做法是 避免在_place(float*形象、形象_size sz)上轮流使用;
为了使其更加有力,我们在守则的开头增加了一些桑性检查:
void rotate_in_place(float* image, image_size sz) {
// rotate_in_place does not support non-square image;
if (sz.nx != sz.ny) throw NonSquareImageError;
// rotate_in_place does not support image too small or too large
if (sz.nx <= 2 || sz.nx > 1024) throw WrongImageSizeError;
// Real rode here
.....
}
现在的问题是,在1 000多个地点使用轮值_in_place()时,我应总结每一次轮值_in_place()和Creet{}的轮值,这样,我就认为,密码会令人难以置信。 另一种可能性不是包罗任何试样子,而是让方案退出,而是这种方式不同于仅仅使用方案。
if (sz.nx != sz.ny) {
cerr << "Error: non-squared image error!
";
exit(0);
}
简言之,我不敢肯定使用 throw、审判、捕获和任何良好建议的真正好处?