c++中异常处理
程序在运行过程中,有对也就有错,正确那么就不用说了,但是如果错误,那么我们如何快速的定位到错误的位置,以及知道发生了什么错误,在c语言中,我们知道处理异常的方式为错误码,在程序运行错误后,我们可以查错误码的方式来,进行判断,但是对于有些情况我们就很难判断,比如虽说常见的错误可以用错误码表示,但是对于一些比较不常见的错误,错误码就不能表示到。
所以为了方便和加强代码的健壮性,引入C++中的异常机制。
异常
异常机制,当一个函数发现自己无法处理的异常,就会抛出一个异常,让函数调用者直接或者间接的处理这个错误。
我们就来举一个最简单的例子:
int x = 5;
int y = 0;
int fun(int x, int y)
{
return x/y;
}
我们知道一个数不能除以0,所以计算机在处理这种情况,就会出现异常,那么这个时候又不是函数出现的问题,所以这个问题我们处理可以抛给调用者,所以我们可以改进一下,变成:
int x = 5;
int y = 0;
int fun(int x, int y)
{
if (y == 0)
{
throw string("除以0非法值");
}
return x/y;
}
抛出异常,还不行,因为异常的抛出必须要有人捕获,就像你小时候,不小心打碎了玻璃杯,总要有人来收拾。
那么我们就可以再函数的外面加上异常捕捉,try{}catch(){}
我们就可以把上面函数改为