什么是FC?如何避免FC的发生,另外FC发生时如何捕获相应的uncaught exception?

2025-05-23 09:08:05

在网上看了一些博客但是就是没有答案,所以自己总结了一些答案供大家参考,希望对大家有所帮助,谢谢!

首先我们要知道什么是FC?它是一个什么东西?全称force close,就是崩溃了,要强制关闭

导致出现Force Close的原因有很多,常见的有比如空指针啦,类没有找到啦,资源没找到,就连Android API使用的顺序错误也可能导致(比如 setContentView()之前进行了findViewById()操作)

Force Close有的人说可以用来让应用完全退出 而故意导致这个问题,让程序强制关闭,这种做法我还是不常用。

如何避免弹出Force Close窗口 可以实现Thread.UncaughtExceptionHandler接口的uncaughtException方法 代码如下

importjava.lang.Thread.UncaughtExceptionHandler;

import android.app.Application;

public class MyApplication extends Application implements UncaughtExceptionHandler {

@Override

public voidonCreate() {

// TODOAuto-generated method stub

super.onCreate();

}

@Override

public void uncaughtException(Thread thread, Throwable ex) {

thread.setDefaultUncaughtExceptionHandler(this);

}

}

想要哪个线程可以处理未捕获异常,thread.setDefaultUncaughtExceptionHandler( this); 这句代码都要在那个线程中执行一次