Bird
Raised Fist0
Javaprogramming~20 mins

Try–catch block in Java - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Handling Errors with Try-Catch Block in Java
📖 Scenario: Imagine you are building a simple calculator app that divides two numbers. Sometimes users might enter zero as the divisor, which causes an error. You want to handle this error gracefully so the app doesn't crash.
🎯 Goal: Build a Java program that safely divides two numbers using a try-catch block to handle division by zero errors.
📋 What You'll Learn
Create two integer variables named numerator and denominator with values 10 and 0 respectively.
Create a variable named result of type int to store the division result.
Use a try block to perform the division numerator / denominator and assign it to result.
Use a catch block to catch ArithmeticException and print "Cannot divide by zero!".
Print the value of result after the try-catch block.
💡 Why This Matters
🌍 Real World
Try-catch blocks are used in real apps to prevent crashes when unexpected errors happen, like dividing by zero or reading files that don't exist.
💼 Career
Understanding error handling is important for writing reliable software and is a common skill required in programming jobs.
Progress0 / 4 steps
1
Create variables for division
Create two integer variables called numerator and denominator with values 10 and 0 respectively.
Java
Hint

Use int numerator = 10; and int denominator = 0; to create the variables.

2
Create a variable to store the result
Create an integer variable called result and initialize it to 0.
Java
Hint

Use int result = 0; to create the variable.

3
Use try-catch to handle division
Write a try block that divides numerator by denominator and assigns it to result. Then write a catch block that catches ArithmeticException and prints "Cannot divide by zero!".
Java
Hint

Use try { result = numerator / denominator; } and catch (ArithmeticException e) { System.out.println("Cannot divide by zero!"); }.

4
Print the result
Write a System.out.println statement to print the value of result.
Java
Hint

Use System.out.println(result); to print the result.

Practice

(1/5)
1. What is the main purpose of a try-catch block in Java?
easy
A. To create new classes
B. To handle errors and prevent program crashes
C. To declare variables
D. To repeat code multiple times

Solution

  1. Step 1: Understand the role of try block

    The try block contains code that might cause an error during execution.
  2. Step 2: Understand the role of catch block

    The catch block runs only if an error occurs, allowing the program to handle it gracefully.
  3. Final Answer:

    To handle errors and prevent program crashes -> Option B
  4. Quick Check:

    try-catch handles errors = D [OK]
Hint: Try-catch is for error handling, not loops or declarations [OK]
Common Mistakes:
  • Confusing try-catch with loops
  • Thinking try-catch declares variables
  • Assuming try-catch creates classes
2. Which of the following is the correct syntax to catch an exception in Java?
easy
A. try { /* code */ } catch (e) { /* handle */ }
B. try { /* code */ } catch Exception e { /* handle */ }
C. try { /* code */ } catch { /* handle */ }
D. try { /* code */ } catch (Exception e) { /* handle */ }

Solution

  1. Step 1: Check catch syntax

    The catch block must specify the exception type in parentheses, like catch (Exception e).
  2. Step 2: Identify correct option

    try { /* code */ } catch (Exception e) { /* handle */ } correctly uses parentheses and exception type; others miss parentheses or type.
  3. Final Answer:

    try { /* code */ } catch (Exception e) { /* handle */ } -> Option D
  4. Quick Check:

    Correct catch syntax = A [OK]
Hint: Catch must have parentheses with exception type [OK]
Common Mistakes:
  • Omitting parentheses in catch
  • Not specifying exception type
  • Using wrong catch syntax
3. What will be the output of this code?
try {
  int a = 5 / 0;
  System.out.println("Result: " + a);
} catch (ArithmeticException e) {
  System.out.println("Error caught");
}
medium
A. Error caught
B. Result: 0
C. 5
D. Compilation error

Solution

  1. Step 1: Identify the error in try block

    Dividing by zero causes an ArithmeticException at runtime.
  2. Step 2: Check catch block response

    The catch block catches ArithmeticException and prints "Error caught".
  3. Final Answer:

    Error caught -> Option A
  4. Quick Check:

    Division by zero triggers catch = A [OK]
Hint: Division by zero triggers catch block output [OK]
Common Mistakes:
  • Expecting normal output despite error
  • Thinking code crashes without catch
  • Confusing compile-time and runtime errors
4. Find the error in this code snippet:
try {
  int[] arr = new int[3];
  arr[5] = 10;
} catch (ArrayIndexOutOfBoundsException e) {
  System.out.println("Index error");
}
medium
A. Array size is too small
B. No error, code runs fine
C. Catch block syntax is wrong
D. Exception type is incorrect

Solution

  1. Step 1: Analyze array usage

    Array declared with size 3, valid indices are 0,1,2; index 5 is out of bounds.
  2. Step 2: Understand exception thrown

    Accessing index 5 causes ArrayIndexOutOfBoundsException, which is correctly caught.
  3. Final Answer:

    Array size is too small -> Option A
  4. Quick Check:

    Index 5 invalid for size 3 = C [OK]
Hint: Check array size vs accessed index to find error [OK]
Common Mistakes:
  • Thinking catch syntax is wrong
  • Assuming no error occurs
  • Confusing exception types
5. You want to read an integer from user input safely. Which code correctly uses try-catch to handle invalid input?
import java.util.Scanner;

Scanner sc = new Scanner(System.in);
int num;
try {
  num = sc.nextInt();
  System.out.println("You entered: " + num);
} catch (Exception e) {
  System.out.println("Invalid input");
}
hard
A. Missing finally block causes error
B. Should catch IOException instead of Exception
C. Correctly handles invalid input with try-catch
D. Try block should be outside Scanner usage

Solution

  1. Step 1: Understand input reading

    Using sc.nextInt() reads integer input; invalid input throws InputMismatchException, a subclass of Exception.
  2. Step 2: Check try-catch usage

    The try block attempts input; catch block handles any Exception, printing "Invalid input" if input is wrong.
  3. Final Answer:

    Correctly handles invalid input with try-catch -> Option C
  4. Quick Check:

    Try-catch handles input errors = B [OK]
Hint: Catch Exception to handle all input errors safely [OK]
Common Mistakes:
  • Thinking finally is mandatory
  • Catching wrong exception type
  • Placing try block incorrectly