gpt4 book ai didi

java - 使用 setDefaultUncaughtExceptionHandler() 时如何强制正常崩溃行为?

转载 作者:行者123 更新时间:2023-12-01 09:35:52 26 4
gpt4 key购买 nike

在我正在开发的应用程序中,我使用 Google Analytics 来跟踪未捕获的异常,如下所示:

// ...after setting up Google Analytics...
Thread.setDefaultUncaughtExceptionHandler(new AnalyticsExceptionHandler(Thread.getDefaultUncaughtExceptionHandler()));

这是处理程序,AnalyticsExceptionHandler 类:

public class AnalyticsExceptionHandler implements UncaughtExceptionHandler
{
// Private
private UncaughtExceptionHandler _defaultHandlerRef;

public AnalyticsExceptionHandler(UncaughtExceptionHandler defaultHandlerRef)
{
this._defaultHandlerRef = defaultHandlerRef;
}

@Override
public void uncaughtException(Thread t, Throwable e)
{
// ...track and send the exception to Google Analytics...
_defaultHandlerRef.uncaughtException(t, e);
}
}

事实是,应用程序实际上从未崩溃,它只是卡住了。如果我删除 setDefaultUncaughtExceptionHandler() 行,则应用程序会正常崩溃。

通过将上面的代码传递给之前的默认处理程序,我是否做错了什么?

最佳答案

为什么不重新抛出异常?

public void uncaughtException(Thread t, Throwable e)
{
// ...track and send the exception to Google Analytics...
_defaultHandlerRef.uncaughtException(t, e);

throw e;
}

关于java - 使用 setDefaultUncaughtExceptionHandler() 时如何强制正常崩溃行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38937252/

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