如何通过iPhone编程中的异常处理处理SIGKILL,SIGABRT,Signal-0异常

时间:2011-06-14 06:21:22

标签: iphone objective-c exception-handling

当提出SIGKILLSIGABRTSignal-0例外时,我必须抓住异常。

请建议如何通过异常处理来处理上述信号。

您可以建议我使用任何示例代码吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

您可以通过在app委托中注册NSUncaughtExceptionHandler来捕获大部分未处理的异常。

同样,您可以使用sigactionsignal

捕获大部分信号

正如您在上述两个链接中所看到的,您无法捕获SIGKILL和SIGSTOP类型的信号。

尝试分析您的代码,以了解导致这些信号的任何可能原因。

答案 1 :(得分:0)

具有java和C#背景的开发人员必须在iOS中进行异常处理。 Apple有一些非常好的API来解决已知的错误,但程序应该是免费的(我知道很难)。 Sigabrt通常在你释放一个对象时发生,而SIGKILL通常在系统由于内存不足而杀死你的应用程序时发生。所以,我建议你阅读the memory management guide by apple。此外,您还可以浏览this linkthis. 。 Apple有一个为exception handling - NSException定义的类。

也尝试提高您的接受率。

祝你好运。