We break down how compile-time errors differ from runtime errors, why an exception is not “just another
if”, but a mechanism for emergency changes to the control flow. We look at typical causes (
NumberFormatException,
ArithmeticException,
ArrayIndexOutOfBoundsException), the top of the hierarchy
Throwable →
Exception/
Error, learn to read the exception name and the first lines of the
stack trace, and, using the console app
BudgetBuddy as an example, observe where exactly execution “breaks”.