iphone 异常捕获处理

Posted 李洪强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iphone 异常捕获处理相关的知识,希望对你有一定的参考价值。

iphone 异常捕获处理

复制代码
 1 void UncaughtExceptionHandler(NSException *exception) {
 2     NSArray *arr = [exception callStackSymbols];
 3     NSString *reason = [exception reason];
 4     NSString *name = [exception name];
 5     NSString *urlStr = [NSString stringWithFormat:@"mailto://XXX@XXX.com?subject=bug报告&body=感谢您的配合!<br><br><br>"
 6                         "错误详情:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@",
 7                         name,
 8                         reason,
 9                         [arr componentsJoinedByString:@"<br>"]];
10     NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
11     [[UIApplication sharedApplication] openURL:url];
12 }
复制代码

然后在程序启动中加入异常捕获回调

复制代码
1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
2 {
3     // Override point for customization after application launch.
4     NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
5     return YES;
6 }
复制代码

以上是关于iphone 异常捕获处理的主要内容,如果未能解决你的问题,请参考以下文章

Java异常处理机制

try and catch 未处理 iphone 中的异常

代码中异常捕获输出

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

iphone dev - 如何捕获异常'NSRangeException'