在下面的代码中,在第一次迭代中出现异常,在第二次迭代中出现分段错误,没有打印错误消息。似乎没有捕获异常:
int i = 0;
while(i++ < 10)
{
try {
cout << "Iteration: " << i << endl;
// Code...
cout << "OK" << endl;
}
catch(...)
{
cerr << "Error message" << endl;
continue;
}
}
Output:
Iteration 1
Error message
Iteration 2
Segmentation fault
这是正常的,还是真的有什么不对劲?
如果它应该是相关的,在那个代码块中我重置了一个 MySQL 连接,当我检查连接是否关闭时会生成异常。
谢谢。
平台:
Linux - OpenSuse 11.4
C++ - GCC 4.5.1
Intel Xeon