gpt4 book ai didi

ios - 尝试捕获整个应用程序

转载 作者:行者123 更新时间:2023-11-29 12:57:29 26 4
gpt4 key购买 nike

我想知道是否可以在整个应用程序周围放置一个 try catch?我的计划是这样做,然后在 UIAlertView 中显示任何错误,其中包含一个“电子邮件开发人员”按钮,该按钮会预先向我发送电子邮件。

虽然不是完美的用户体验,但总比应用程序崩溃要好。

最佳答案

你可以做点好事。'NSSetUncaughtExceptionHandler'。

在你的 applicationDidFinishLaunchingWithOptions 添加:

NSSetUncaughtExceptionHandler(&HandleException);

当然还要在这个类中添加 c 函数:

void HandleException(NSException *exception)
{
int32_t exceptionCount = OSAtomicIncrement32(&UncaughtExceptionCount);
if (exceptionCount > UncaughtExceptionMaximum)
{
return;
}

NSArray *callStack = [UncaughtExceptionHandler backtrace];
NSMutableDictionary *userInfo =
[NSMutableDictionary dictionaryWithDictionary:[exception userInfo]];
[userInfo
setObject:callStack
forKey:UncaughtExceptionHandlerAddressesKey];

[[[[UncaughtExceptionHandler alloc] init] autorelease]
performSelectorOnMainThread:@selector(handleException:)
withObject:
[NSException
exceptionWithName:[exception name]
reason:[exception reason]
userInfo:userInfo]
waitUntilDone:YES];
}

添加 handleException 方法以在需要时显示错误。

编辑:您甚至可以看到堆栈跟踪:请参阅 NSException 的“callStackSymbols”。

关于ios - 尝试捕获整个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com