ios程序中捕获异常退出信息,并提交服务器

         可以通过写一个类CrashExceptioinCatcher,在类中定义一个静态方法startCrashExceptionCatch, 方法里调NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);

绑定void uncaughtExceptionHandler(NSException *exception)方法处理异常信息,在void uncaughtExceptionHandler(NSException *exception)里将异常打印出来,并附带上设备信息提交至服务器,这样在测试时候能够比较有效的收集异常信息。

头文件

#import <Foundation/Foundation.h>

@interface CrashExceptioinCatcher : NSObject

+ (void)startCrashExceptionCatch;

@end

实现文件

#import "CrashExceptioinCatcher.h"

// 提交异常Log信息
void uncaughtExceptionHandler(NSException *exception) {
    
    // 异常Log信息
    NSString *logInfo = [NSString stringWithFormat:@"Crash:\n%@\nStack Trace:\n%@\n",
                         [exception description], [exception callStackSymbols]];
    NSLog(@"%@", logInfo);
    
    // TODO: 提交服务器收集
    // ....
}


@implementation CrashExceptioinCatcher

+ (void)startCrashExceptionCatch
{
    // Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); //设置异常Log信息的处理
}

@end

使用方法:

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

{
    
    [CrashExceptioinCatcher startCrashExceptionCatch];
    
    // .................
    
}



参考:http://arthurchen.blog.51cto.com/2483760/734175

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值