如果try块在同一个块中抛出异常之前包含cout语句,那么这些语句是否会被打印到控制台,或者它的行为就好像try块从未执行过一样?例如:
void foo()
{
try
{
cout << "1" << endl;
cout << "2" << endl;
bar(); //exception thrown in this function, but caught below
}
catch (exception e)
{
cout << e.what(); //assume the message is "error"
}
}
此功能的输出是
1
2
error
或
error
答案 0 :(得分:2)
输出为
1
2
error
异常不会“撤消”
的影响cout << "1" << endl;
cout << "2" << endl;