先来看一个简单的程序:
#include <iostream>
using namespace std;
int main()
{
int a = 100;
int b = 0;
int c = 0;
for(b = -1; b <= 1; b++)
{
try
{
c = a / b;
// 因为b为0, 出现异常, 所以下面语句不会执行
cout << "try" << endl;
}
catch(...)
{
cout << "catch" << endl;
}
cout << "out" << endl;
}
return 0;
}
结果为:
try
out
catch
out
try
out
上面程序利用了C++中的异常机制,我们再来看两个程序:
#include <iostream>
using namespace std;
int main()
{
int *p = NULL;
//try
{
*p = 0;
cout << "try" << endl;
}
//catch(...)
{
cout << "catch" << endl;
}
return 0;
}
运行时会出错, 大忌啊。 需要改为如下:
#include <iostream>
using namespace std;
int main()
{
int *p = NULL;
try
{
*p = 0;
cout << "try" << endl;
}
catch(...)
{
cout << "catch" << endl;
}
return 0;
}
结果为:catch
异常机制在实际开发中, 会经常见到, 可以增强程序的稳健性。