У меня есть глобальная процедура обработки исключений, которая оборачивает некоторые исключения в исключения времени выполнения.
Так
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);
}
Проблема в том, что после броска RTE он не входит в UncaughtExceptionHandler
. Почему?
Кстати, я не могу поместить его в основной метод, потому что в моей программе для Android нет основного.