Java 如何通过显示一般错误UI优雅地处理未捕获的异常
我想知道Crashlytics如何能够在任何线程上通过整个应用程序监控未捕获的异常?它使用全局异常处理程序还是什么 除了登录到远程服务器之外,我还想通过向用户显示一个通用错误UI来实现类似的行为,从而优雅地处理未捕获的异常。这可能吗 以下是我尝试过的: 我实现了一个Java 如何通过显示一般错误UI优雅地处理未捕获的异常,java,android,crash,crashlytics,crash-reports,Java,Android,Crash,Crashlytics,Crash Reports,我想知道Crashlytics如何能够在任何线程上通过整个应用程序监控未捕获的异常?它使用全局异常处理程序还是什么 除了登录到远程服务器之外,我还想通过向用户显示一个通用错误UI来实现类似的行为,从而优雅地处理未捕获的异常。这可能吗 以下是我尝试过的: 我实现了一个UncaughtExceptionHandler: public class ActivityExceptionHandler implements Thread.UncaughtExceptionHandler { pri
UncaughtExceptionHandler
:
public class ActivityExceptionHandler implements Thread.UncaughtExceptionHandler {
private final Context mContext;
public ActivityExceptionHandler(Context context) {
mContext = context;
}
@Override
public void uncaughtException(Thread t, Throwable e) {
// logging code
...
...
// show error UI
Intent intent = new Intent(mContext, GenericErrorActivity.class);
intent.putExtra("error", e.toString());
mContext.startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
}
并将其注册到我的BaseActivity
的onCreate()
:
但是这只处理主线程上的异常,其他线程呢?@NileshRathod已经这样做了:)你可以这样做:@SandeepRandhawa没有代码不一定是坏事@y、 阿拉姆,在这种情况下,它似乎是。或者没有比这更好的研究了?
Thread.setDefaultUncaughtExceptionHandler(new ActivityExceptionHandler(this));