Exception handling helps your program deal with unexpected problems without crashing. It keeps your program running smoothly even when errors happen.
Why exception handling is required in Java
Start learning this pattern below
Jump into concepts and practice - no test required
or
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Syntax
Java
try { // code that might cause an error } catch (ExceptionType e) { // code to handle the error } finally { // code that runs no matter what }
try block contains code that might cause an error.
catch block handles the error if it happens.
Examples
Java
try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("Cannot divide by zero."); }
Java
try { String text = null; System.out.println(text.length()); } catch (NullPointerException e) { System.out.println("Text is null."); }
Sample Program
This program tries to access an array element that does not exist. Instead of crashing, it catches the error and prints a friendly message. Then it continues running.
Java
public class Main { public static void main(String[] args) { try { int[] numbers = {1, 2, 3}; System.out.println(numbers[5]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Oops! Index is out of range."); } System.out.println("Program continues smoothly."); } }
Important Notes
Always catch specific exceptions to handle errors properly.
Use finally block to run code that must execute regardless of errors.
Summary
Exception handling prevents program crashes by managing errors.
Use try-catch blocks to catch and respond to errors.
It helps keep programs user-friendly and reliable.
Practice
1. Why is exception handling required in Java programs?
easy
Solution
Step 1: Understand what happens without exception handling
Without exception handling, errors cause the program to stop abruptly, leading to crashes.Step 2: Role of exception handling
Exception handling catches errors and allows the program to continue or handle the error gracefully.Final Answer:
To prevent the program from crashing when an error occurs -> Option AQuick Check:
Exception handling prevents crashes [OK]
Hint: Exception handling stops crashes by managing errors [OK]
Common Mistakes:
- Thinking exception handling makes code faster
- Believing it increases program size unnecessarily
- Assuming it removes the need to write code
2. Which of the following is the correct syntax to start exception handling in Java?
easy
Solution
Step 1: Identify the correct order of try-catch blocks
In Java, the try block comes first, followed by one or more catch blocks.Step 2: Check syntax correctness
try { /* code */ } catch(Exception e) { /* handle */ } correctly uses try { } followed by catch(Exception e) { } which is valid syntax.Final Answer:
try { /* code */ } catch(Exception e) { /* handle */ } -> Option DQuick Check:
try block first, then catch [OK]
Hint: Try block comes before catch block in Java syntax [OK]
Common Mistakes:
- Swapping try and catch keywords
- Using 'handle' instead of 'catch'
- Placing exception parameter incorrectly
3. What will be the output of the following Java code?
public class Test {
public static void main(String[] args) {
try {
int result = 10 / 0;
System.out.println(result);
} catch (ArithmeticException e) {
System.out.println("Error caught: " + e.getMessage());
}
}
}medium
Solution
Step 1: Identify the error in the try block
The code attempts to divide 10 by 0, which causes an ArithmeticException.Step 2: Check how the exception is handled
The catch block catches ArithmeticException and prints "Error caught: " plus the exception message "/ by zero".Final Answer:
Error caught: / by zero -> Option AQuick Check:
Division by zero caught and message printed [OK]
Hint: Division by zero triggers ArithmeticException caught by catch [OK]
Common Mistakes:
- Expecting program to print 10 or 0
- Thinking program crashes without catch
- Ignoring exception message in output
4. Identify the error in the following Java code snippet related to exception handling:
try {
int[] arr = new int[3];
System.out.println(arr[5]);
} catch (Exception e) {
System.out.println("Exception caught");
}medium
Solution
Step 1: Understand the exception thrown
Accessing arr[5] causes ArrayIndexOutOfBoundsException, which is a subclass of Exception.Step 2: Check catch block type
The catch block catches Exception, so it will catch ArrayIndexOutOfBoundsException and print the message.Final Answer:
No error; the exception will be caught and message printed -> Option CQuick Check:
Exception catch block catches all exceptions [OK]
Hint: Catch Exception catches all exceptions including subclasses [OK]
Common Mistakes:
- Thinking ArrayIndexOutOfBoundsException is not caught by Exception
- Assuming code crashes without catch
- Believing syntax error exists in try-catch
5. You want to read a file in Java but ensure the program continues even if the file is missing. Which approach best uses exception handling to achieve this?
hard
Solution
Step 1: Understand the problem of missing file
Reading a missing file throws FileNotFoundException, which must be handled to avoid crash.Step 2: Use try-catch to handle exception
Placing file reading code inside try and catching FileNotFoundException allows graceful handling and program continuation.Final Answer:
Use try block to read file and catch FileNotFoundException to handle missing file -> Option BQuick Check:
Try-catch handles file errors to keep program running [OK]
Hint: Try reading file, catch FileNotFoundException to avoid crash [OK]
Common Mistakes:
- Ignoring exceptions causing program crash
- Using catch without try block
- Relying only on if-else without exception handling
