【发布时间】:2012-10-26 11:51:22
【问题描述】:
如果我有一个标记为 throw() 的方法,例如
void method() throw()
{
// do some stuff, call other functions
}
但内部发生异常确实,gcc 将终止应用程序(带有消息“在抛出 'xyz' 实例后调用终止”)。
有没有办法避免这种行为?
例如,用于忽略 throw() 内容或强制生成 eh_frame 的命令行开关。等等。
【问题讨论】:
-
只有 catch() 里面的例子会有所帮助...
-
那么你想让一个函数不能抛出异常,但能够抛出异常?
-
我不控制双方(既不扔()也不扔)。不是我的代码。但我必须处理这种组合。
-
如果是 throw() 那么你需要捕获并处理方法内部发生的所有异常。
-
我更愿意找到一个比修改 1000 个现有源文件更简单的解决方案。假设我只是想找到解决方案,只是为了好玩。