- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我尝试了两种捕获异常的方法。第一个是 try catch,第二个是 Appdelegate 中的以下代码。
void onUncaughtException(NSException* exception)
{
//save exception details
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&onUncaughtException);
}
第二种方法的优点是我们不需要在每个方法中都实现 try catch block 。
第一个捕获异常,打印它但不会使应用程序崩溃。但是第二个捕获异常并使应用程序崩溃。
有什么方法可以使用第二种方法来捕获异常而不会使应用程序崩溃。
最佳答案
NSSetUncaughtExceptionHandler
设置顶级错误处理函数,您可以在其中执行程序终止前的最后一分钟日志记录。在 onUncaughtException
中,您可以在崩溃前做一些事情,但应用程序最终会崩溃。
@try...@catch...@finally..
是 try catch 可能的NSException,如果捕获到,则运行在@catch
block 代码中,不管是否catch,代码都会在@finally
block 代码中运行。使用@try...@catch...
最终不会导致崩溃,这可能是主要区别。
关于ios - try catch 和 NSSetUncaughtExceptionHandler 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22316683/
我正在使用 http://code.google.com/p/google-toolbox-for-mac 中的 GTMStackTrace . 我需要一种方法来测试最终用户在应用程序崩溃时向我发送错
编辑:对于那些想知道该 SDK 是什么的人来说,它是 Flurry 的中文克隆版,==>> Umeng。 编辑2:在那个奇怪的SDK中实际上有一个禁用崩溃日志处理选项,这将使我的uncaughtExc
我的代码在这里: 在myAppDelegate.m中: void catchException(NSException *e) { NSLog( @"here is a exception")
我正在尝试在 Rubymotion 应用中使用 NSSetUncaughtExceptionHandler 连接一个全局异常处理程序。而且我不知道该怎么做,可能是我错误地使用了 Rubymotion
我使用 NSSetUncaughtExceptionHandler(&HandleExceptions); 来处理方法中未捕获的异常 void HandleExceptions(NSException
我想使用全局异常处理程序。 在 applicationdidFinishLaunchingWithOptions 中这样调用: NSSetUncaughtExceptionHandler(&uncau
我在设置未捕获的异常处理程序时遇到了一些问题。这是我正在做的: 在应用程序 delegate.h 中: - (void) uncaughtExceptionHandler(NSException *e
我正在尝试为 iPhone 应用程序制作一个通用错误处理程序,无论何时在应用程序中抛出任何一般错误,它都会将用户带到恢复屏幕,而不是在应用程序中的每个方法周围放置一个 try/catch block
在 Objective-C 中,我调用 NSSetUncaughtExceptionHandler(&exceptionHandler) 方法来记录异常。它在 Swift 中是如何调用的? 最佳答案
我正在 try catch Swift3 程序中的所有 NSException - 一直在关注 this Stack Overflow answer 所以我得到了这个: override func v
我想记录应用程序崩溃时发生的任何异常。在ios中,它有一个方法叫做NSSetUncaughtExceptionHandler,我如何在Xamarin中调用这个方法? 最佳答案 根据此处提供的答案:Mo
当 NSSetUncaughtExceptionHandler 被调用但什么也没有发生时,我试图在屏幕上绘制一些简单的东西。有没有其他方法可以捕获异常并快速在屏幕上绘制内容? NSSetUncaugh
我尝试了两种捕获异常的方法。第一个是 try catch,第二个是 Appdelegate 中的以下代码。 void onUncaughtException(NSException* exceptio
我正尝试在我的项目中使用全局错误处理,如下所示: func application(_ application: UIApplication, didFinishLaunchingWithOption
我注意到 iOS 5 中的一些奇怪行为:NSSetUncaughtExceptionHandler() 似乎不再执行任何操作。 我有以下代码: static NSString* documentsDi
以下简单代码位于新的 cocoa 测试项目上的应用程序委托(delegate)上。 void onUncaughtException(NSException *exception){ NSLo
目的 NSSetUncaughtExceptionHandler就是捕获异常并将其转储到某个地方,以便我们可以找到应用程序崩溃的原因以及异常是什么。 在 Objective C 中,它按预期捕获了异常
我使用 Martin R 的答案在 Swift 中打印 NSSetUncaughtExceptionHandler。 How should I use NSSetUncaughtExceptionHa
我使用UncaughtExceptionHandler 注册未捕获异常处理器的代码如下,你认为会有什么潜在的问题吗? @interface AppDelegate () void myHandler(
我是一名优秀的程序员,十分优秀!