C++抛出异常时无法捕捉到异常,致使程序崩溃
@(代码排错)[抛出异常|无法捕捉异常]
[TOC]
情况一
下面代码导致了异常:
try {
xxxxx
} catch(Exception& e) {
do {
Exception e;
throw e;
} while (false)
}
修改为下面的代码就可使代码正常:
try {
xxxxx
} catch(Exception& e) {
do {
Exception ex;
throw ex;
} while (false)
}
情况二
下面代码导致了异常:
try {
xxxxx
} catch(Exception* e) {
xxx
}
catch中的类型是"Exception*",将"Exception*"改为"Exception&"即可解决问题。