У нас есть два похожих кода, оба из которых приводят к исключению RunTimeException. Однако один из кодов распечатает результаты + исключение, в то время как другой ТОЛЬКО выбрасывает исключение без результатов вплоть до момента, когда исключение выдается. Вы можете увидеть оба блока кода здесь, один закомментирован:
Первый случай:
public class ExceptionTest {
public static void main(String[] args) {
String letters = "abcdef";
System.out.println(letters.length());
System.out.println(letters.charAt(3));
System.out.println(letters.charAt(6));
}
}
Второй случай:
public class ExceptionTest {
public static void main(String[] args) {
int total = 0;
StringBuilder letters = new StringBuilder ("abcdefgh");
total += letters.substring(1, 2).length();
total += letters.substring(6, 6).length();
total += letters.substring(6, 5).length();
System.out.println(total);
}
}
Может кто-нибудь объяснить, почему это будет выводить только RuntimeException и не включать результаты в блок с комментариями?