对于许多C++专家来说,这应该是相当容易的问题。在CATCH块后执行代码吗?
我有一些C++代码如下。
BOOL FindNumbersInObj() {
BOOL ret = true;
try {
//Do bunch of things here...
CMyObj pObj;
try {
pObj->GetMyObjectPtr();
}
catch (MyException ex) {
pObj = NULL;
ret = false;
}
ret = pObj->GetAllNumbers();
//Do something here too....
}
catch (MyException ex) {
//Log Error Message
ret = false;
}
return ret;
}
正如你看到有另一次尝试,里面一试。在CATCH中,它将pObj设置为NULL。那么它有可能会从CATCH块中出来并执行代码行“ret = pObj-> GetAllNumbers();”?如果是这样,那么我会除了代码崩溃。
这是一些leagcy /旧代码在看。请在另一个TRY内进行TRY的评论。
而且,如果它碰到一个CATCH块,它将会进入该函数的结尾并致电返回ret?
您能否修理您的缩进? –
'BOOL'不在C++ 11中。您可能是指'bool' –
@BasileStarynkevitch:可能使用旧的Microsoft类型别名 –