Розбираємося, чим відрізняються помилки компіляції від помилок часу виконання, і чому виняток — це не «ще один
if», а механізм аварійної зміни потоку виконання. Розглядаємо типові причини (
NumberFormatException,
ArithmeticException,
ArrayIndexOutOfBoundsException), верхівку ієрархії
Throwable →
Exception/
Error, вчимося читати назву винятку та перші рядки
stack trace, а також на прикладі консольного застосунку
BudgetBuddy спостерігаємо, де саме «ламається» виконання.