抓住或不抓住

dim*_*mba 3 c++ linux signals

应用程序应该捕获SIGSEV,SIGBUS等"坏"信号吗?

小智 7

当程序处于未定义状态时,这些信号是在"永远不会发生"的情况下产生的.如果你确实抓住了它们,那么继续执行将是非常有问题的,因为它几乎肯定会导致更多,甚至更严重的错误.此外,如果您没有捕获它们,操作系统可能会执行诸如核心转储之类的有用诊断之类的操作.所以我会说"不",除非你不想要核心转储,你的错误处理做了一些非常简单的事情,比如写入日志并终止.

  • @JB在应用程序收到SIGBUS或其他任何东西的时候,要保存你的工作要迟到了.一个写得很好的应用程序将在此之前进行日志更改,这是恢复机制通常的工作方式. (5认同)