Nearby lessons
65 of 125Java - Predefined Exceptions
📌 What You Will Learn
- What an exception is and why programs crash
- The try, catch, finally structure
- Checked vs unchecked exceptions (with the updated rule)
- throw vs throws
- Creating your own (custom) exceptions
- try-with-resources — the modern way
Predefined Exceptions is a core concept of the Java language. This lesson explains Predefined Exceptions — When Each One Comes and Reading an Exception Message — Three Parts with complete, runnable code examples, clear step-by-step explanations, and common mistakes to avoid with exam-style MCQs at the end.
Predefined Exceptions — When Each One Comes
| Exception | When it is raised |
|---|---|
| ArithmeticException | Dividing a number by zero, or other math errors |
| NullPointerException | Calling a method/field on a reference that is null |
| ArrayIndexOutOfBoundsException | Accessing an index outside the array's range |
| NumberFormatException | Converting an invalid String to a number (e.g., Integer.parseInt("abc")) |
| ClassNotFoundException | Class.forName("com.example.X") cannot find the class |
Example01
Reading an Exception Message — Three Parts
Every exception message on the command prompt has three parts. Learn to read them:
The stack trace (the lines starting with at) tells you exactly which line caused the problem — your first debugging tool.
Example02
📝 Key Takeaways
- Exception = a run-time problem that stops the program; handling prevents the crash.
- try keeps risky code, catch handles the problem, finally always runs.
- Checked exceptions must be handled; unchecked (RuntimeException) are optional to handle.
- throw throws an exception; throws warns that a method may throw one.
- Custom exceptions extend Exception or RuntimeException for business rules.
- try-with-resources (Java 7+) closes files/connections automatically.
- Errors (like OutOfMemoryError) are system problems — not meant to be caught.
🧠 Test Your Knowledge
1 QuestionsProgress: 0 / 1