我是一名使用 C++ 代码的 Java 程序员,需要一些异常处理方面的帮助。
我有以下结构的代码:
try{
...
}
catch( ... )
{
log("Exception occurred");
}
发生了异常,但 try 块确实很大,调试不是一种选择,因此我需要对代码进行最低限度的修改,以便为我提供有关异常的相关信息。
因此,我在现有的 catch 块之前添加了以下 catch 块(使用我的 Java 知识并参考 C++ 指南):
catch(exception e)
{
log(e.what());
}
但是,我仍然收到旧消息 - “发生异常”。try 块中的代码包含许多低级函数,例如strncpy, memcpy
等。
为什么这个catch
块没有按预期工作?我可以做些什么来获取有关正在发生的异常以及发生在哪一行的信息,类似于 Java 如此容易提供的堆栈跟踪。