Man*_*ano 5 iphone exception nsexception ios
我尝试了两种捕获异常的方法.第一个是try catch,第二个是Appdelegate中的以下代码.
void onUncaughtException(NSException* exception)
{
//save exception details
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&onUncaughtException);
}
Run Code Online (Sandbox Code Playgroud)
第二种方法的优点是我们不需要在每个方法中实现try catch块.
第一个捕获异常,打印它但不会使应用程序崩溃 ..但第二个捕获异常并崩溃应用程序.
有没有办法使用第二种方法来捕获异常而不会崩溃应用程序.
NSSetUncaughtExceptionHandler设置顶级错误处理函数,您可以在程序终止之前执行最后一分钟的日志记录.在onUncaughtException你可以做飞机坠毁前的东西,但应用程序崩溃做最后.
@try...@catch...@finally..是尝试捕获可能的NSException,如果catch,在@catch块代码中运行,无论catch,代码都将在@finally块代码中运行.使用@try...@catch...最终不会导致崩溃,这可能是主要区别.
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |