扫码关注官方订阅号
请教在iOS中NSSetUncaughtExceptionHandler函数的具体作用和使用方法
光阴似箭催人老,日月如移越少年。
首先,这是你要用法:
void HandleException(NSException *exception) { NSLog(@"%@"[exception callStackSymbols]); } @implementation AppDelegate ... - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { .... NSSetUncaughtExceptionHandler(&HandleException); return YES; } @end
其次,作用就是捕获OC的异常,然后调用你指定的方法。一般用来记录错误等场景。
顺带提几点1.只能捕获OC抛出的异常,例如signal就无法捕获,signal异常可以设置signal的handler。具体搜一下signal()
2.自己的NSSetUncaughtExceptionHandler尽量放在didFinishLaunchingWithOptions的最后面,因为现在很多第三方SDK都集成了crash收集,有可能会抢夺你的权限,提一个小经验:太多SDK用NSSetUncaughtExceptionHandler有时会混乱,表现是捕获到的crash没符号表。
为工程师推荐兼职,详情点我头像
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先,这是你要用法:
其次,作用就是捕获OC的异常,然后调用你指定的方法。一般用来记录错误等场景。
顺带提几点
1.只能捕获OC抛出的异常,例如signal就无法捕获,signal异常可以设置signal的handler。具体搜一下signal()
2.自己的NSSetUncaughtExceptionHandler尽量放在didFinishLaunchingWithOptions的最后面,因为现在很多第三方SDK都集成了crash收集,有可能会抢夺你的权限,提一个小经验:太多SDK用NSSetUncaughtExceptionHandler有时会混乱,表现是捕获到的crash没符号表。
希望对你有帮助