Рассмотрим этот код:Что происходит, когда Исключение выбрано основным?
public class Test {
public static void main(String[] args) throws Exception {
mayFail();
System.out.println("This shouldn't run");
}
public static void mayFail() throws Exception{
throw new Exception();
}
}
Я знаю main
прекращается, когда Exception
является throw
н.
Что я хочу знать, есть ли какой-то король процедуры в JVM
(или в любом месте), который выполняется, когда это происходит?
EDIT:
После прочтения Алмас SHAIKH ответить мне удалось справиться с этой Exception
так:
public class Test{
public static void main(String[] args) throws Exception {
UncaughtExceptionHandler a = new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println("Uncaught Exception");
}
};
Thread.setDefaultUncaughtExceptionHandler(a);
mayFail();
System.out.println("This shouldn't run");
}
public static void mayFail() throws Exception{
throw new Exception();
}
}
Так что, если я правильно понимаю это, насколько это идет? И без UncaughtExceptionHandler
программа просто заканчивается, ничего не делая на самом деле?
@Charlie Вы не поняли мой вопрос. –
Вот почему я удалил свой комментарий: I – Charlie