ios 捕获异常

来源:互联网 发布:js 红到蓝渐变 编辑:程序博客网 时间:2024/06/05 19:37


部分情况的崩溃我们是无法避免的,就算是QQ也会有崩溃的时候。因此我们可以在程序崩溃之前做一些“动作”(收集错误信息),以下例子是把捕获到的异常发送至开发者的邮箱。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);return YES;}void UncaughtExceptionHandler(NSException *exception) {/*** 获取异常崩溃信息*/NSArray *callStack = [exception callStackSymbols];NSString *reason = [exception reason];NSString *name = [exception name];NSString *content = [NSString stringWithFormat:@"========异常错误报告========\nname:%@\nreason:\n%@\ncallStackSymbols:\n%@",name,reason,[callStack componentsJoinedByString:@"\n"]];/*** 把异常崩溃信息发送至开发者邮件*/NSMutableString *mailUrl = [NSMutableString string];[mailUrl appendString:@"mailto:test@qq.com"];[mailUrl appendString:@"?subject=程序异常崩溃,请配合发送异常报告,谢谢合作!"];[mailUrl appendFormat:@"&body=%@", content];// 打开地址NSString *mailPath = [mailUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailPath]];}


0 0
原创粉丝点击