NSSetUncaughtExceptionHandler

1,首先在delegate文件里面- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions函数里面添加:


  1. NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);  

2,实现捕捉到异常时调用的函数(在@implementation之上):


  1. void UncaughtExceptionHandler(NSException *exception) {  
  2.  NSArray *arr = [exception callStackSymbols];  
  3.  NSString *reason = [exception reason];  
  4.  NSString *name = [exception name];  
  5.     
  6.  NSString *urlStr = [NSString stringWithFormat:@"mailto://[email protected]?subject=bug报告&body=xxx项目报告!


    "  
  7.       "错误详情:
    %@
    --------------------------
    %@
    ---------------------
    %@",  
  8.       name,reason,[arr componentsJoinedByString:@"
    "]];  
  9.     
  10.  NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];  
  11.  [[UIApplication sharedApplication] openURL:url];  
  12.     NSLog(@"%@",url);  
  13. }  

你可能感兴趣的:(OC,log,runtime)