异常报告记录 传给服务器或者其他

1. 在 main 函数中 加方法(抛异常) 

int main (int argc, char * argv[]) {

  @try {

      @autoreleasepool {

          return UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]));

       }

  }

  @catch (NSException *exception) {

    NSLog(@"main----%@", [exception callStackSymbols]);   // 数据可以传给服务器 

  }

 

}

 

2. 在AppDelegate 中 Finish方法中

 

/**

 *  拦截异常

 *

 */

void handleException(NSException *exception)

{

    NSMutableDictionary *info = [NSMutableDictionary dictionary];

    

   [info setObject:[exception callStackSymbols] forKey:@"callStack"];

    [info setObject:[exception name] forKey:@"name"];

    [info setObject:[exception reason] forKey:@"reason"];

 

    

    NSLog(@" handle exception %@",info);

    

}

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    

    NSSetUncaughtExceptionHandler(handleException);

    

    return YES;

}

posted on 2016-06-14 22:57  Tony0571  阅读(148)  评论(0编辑  收藏  举报

导航