Этот вопрос относится к блокам finally в Java. Здесь не печатается «остальная часть кода», которая находится после блока finally.
Но когда исключения нет, он напечатает все, что находится после блока finally.
class TestFinallyBlock1 {
public static void main(String args[]) {
try {
int data=25/0;
System.out.println(data);
}
catch(NullPointerException e) {
System.out.println(e);
}
finally {
System.out.println("finally block is always executed");
}
System.out.println("rest of the code...");
}
}




Поскольку вы не перехватили java.lang.ArithmeticException, и в этот момент код завершается.
Попробуй это:
class TestFinallyBlock1 {
public static void main(String args[]) {
try {
int data = 25 / 0;
System.out.println(data);
} catch (Exception e) {
System.out.println(e);
} finally {
System.out.println("finally block is always executed");
}
System.out.println("rest of the code...");
}
}
Вы можете поймать несколько исключений, и вы должны делать это от более конкретного к менее конкретному.
ох..да.правильно. так что это также может быть обработано ArithmeticException. спасибо.