Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
public class Main {
static void fail() { throw new Exception("boom"); }
public static void main(String[] args) {
try {
fail();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}Не скомпилируется
- Ждать
boom:catchвmainне спасаетfail; каждый метод, из которого может выйти проверяемое исключение, ловит его или объявляетthrows. - Ждать ошибку при запуске: проверяемое исключение проверяет компилятор, поэтому без
throwsостанавливается сборка, а не работающая программа.
- Что изменится, если
failброситnew RuntimeException("boom")? - Куда дописать
throws Exception, чтобы программа напечаталаboom?