我得到以下代码:
set<Object*>::iterator it;
try
{
for (it = SetOfObjects->begin(); it != SetOfObjects->end(); ++it)
{
//some actions, not applicable to the question
}
}
catch(...)
{
this->m_error_raiser->error_Name = "Station isn`t connected to Object! Use connectToObject method or list of forecast objects is empty";
this->m_error_raiser->error_Number = 101;
//throw (this->m_error_raiser);
}
当未创建 SetOfObjects 实例并且我试图遍历该集合时,我得到了预期的运行时错误。
所以我决定处理这个错误,并通过 try catch 向用户提供有关它的信息。
我的问题:虽然我捕获了所有异常,因此它们被视为已处理,但我的程序仍然在运行时终止,这与我期望它的行为相矛盾:它应该继续工作,因为所有生成的异常都已处理。这里有什么问题?