繁体   English   中英

如何捕获异常(GCC ARM C ++)

[英]How to catch exceptions (gcc arm c++)

我使用marmalade sdk,并且不支持结构化异常处理。 我需要捕获任何异常(空指针,零除数或任何其他除数),并在应用崩溃之前进行一些操作(发送崩溃报告)。 如何在gcc-arm编译器下的本机c ++中执行此操作?

我需要抓住任何例外

为此,您可以使用catch的省略号语法:

try {
    doStuff(); // May throw
}
// catch all exceptions derived from std::exception
catch(const std::exception& ex) { 
    std::cerr << "Caught exception: '" << ex.what() << "'" << std::endl;
}
catch(...) { // catch everything but unkown
}

还要确保您的构建系统不会通过-fno-exceptions-fno-rtti编译器标志显式抑制异常和RTTI。

我已经在这里过了 我在options使用标志enable-exceptions=1尝试了它。 但这对我没有用。 Marmalade上有一个关于异常处理的线程,在那里有人提到Marmalade不支持它们,社区要求将其包括在内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM