简单的说异常处理就是为了判断代码的正确性,为了能把握代码每一步的结果是否是自己预想的那样,一般来说我们会在代码中加入很多的输出显示语句,异常处理也是类似的作用,不过方式不太一样,输出显示是一步步查看结果,异常处理可以直接预先将可能存在的问题设计上,方便查看,也高大上;
以此为例:
int main()
{
double m, n; //此处定义俩个变量作为实验用
cin >> m >> n;// 人为输入俩个数字
try { //try部分,是为了抛出异常(就是throw)根据不同的情况抛出不同的异常
cout << "before dividing" << endl;
if (n == 0)
throw - 1;
else if (m == 0) {
throw - 1.0f;//float和double需要注意
}
else
cout << m / n << endl;
cout << "after dividing" << endl;
}
catch (float d) { //此处是判断异常,根据try中抛出的不同异常来决定遇到问题后要做什么(如果try中抛出一个字符串异常
cout << "catch (double)" << d << endl;// 假如是:文件不存在,返回值不对,等等,此时就可以高大上的显示出代码问题
} //所在;catch中有参数,例如float类型的数据类型,以及抛出的异常内容d;
catch (...) { //这样就不用在代码中写一大堆if --else 等令人烦躁(娄)的判断语句;
cout << "catch(...)" << endl; //再有就是需要灵活运用,比如嵌套,等等;
}
cout << "finished" << endl;
system("pause");
}