我有一个全局的异常处理程序,它会将一些异常包装成运行时异常。
就像这样:
public class ExceptionHandler
{
public static void handle(){
throw new RuntimeException(e);
}
}
在
ExceptionHandler
类中,我还有一个静态构造函数。static
{
Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler()
{
@Override
public void uncaughtException(Thread thread, Throwable throwable)
{
Throwable t;
t = throwable;
if (throwable.getCause() != null)
t = throwable.getCause();
Log.e(t.getClass().getName(), t.getMessage(), t);
}
};
Thread.currentThread().setUncaughtExceptionHandler(h);
Thread.setDefaultUncaughtExceptionHandler(h);
}
问题是,抛出运行时异常后,它没有进入
UncaughtExceptionHandler
。为什么?顺便说一下,我不能将它放入主方法中,因为我的Android程序中没有主方法。