ios中是否存在处理单个try catch块中整个应用程序中发生的所有异常的问题。
如果是,我应该在哪里写这个块。
答案 0 :(得分:0)
假设问题是关于Objective-C,则不需要处理异常,因为它们不能用于程序控制。异常仅用于捕获不可恢复的编程错误,因此如果您得到错误,则需要修复代码。
通常,堆栈帧中的异常不会以可恢复的方式处理。
最好的办法是在Xcode中添加一个异常断点,以便更好地检查异常:
从Mian菜单调试:断点:创建异常断点。运行应用程序以获取断点。当您点击异常断点单击调试继续几次,您将获得回溯和更多错误信息。将该Xcode / Debugger消息的精确副本添加到问题中。
将此断点更改为“仅限Objective-C”也是一个好主意。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用NSSetUncaughtExceptionHandler
设置处理程序。
迅速:
NSSetUncaughtExceptionHandler { (exception) in
while true {
sleep(UInt32(0.5))
}
}
Objective-C:
void handleException(NSException* exception) {
while true {
sleep(0.5);
}
}
NSSetUncaughtExceptionHandler(handleException);
返回处理程序时,应用程序崩溃,并且Xcode显示错误。因此,您可以运行循环,直到要退出该应用程序为止。我不建议保持应用程序正常运行,但是您可以显示例如警报,提示发生错误,并且当用户单击按钮时,应用程序崩溃。使用标志进行循环。