1

如果 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
4

1 回答 1

2

输出将是

1
2
error

例外不会“撤消”

cout << "1" << endl;
cout << "2" << endl;
于 2013-04-05T18:55:48.610 回答