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
Using the Throw Keyword in Java
π Scenario: You are creating a simple banking application. You want to make sure that users cannot withdraw more money than they have in their account.
π― Goal: Build a Java program that uses the throw keyword to stop the program and show an error message if a user tries to withdraw too much money.
π What You'll Learn
Create a variable to hold the current account balance.
Create a variable to hold the amount to withdraw.
Use the throw keyword to raise an exception if the withdrawal amount is greater than the balance.
Print a message showing the remaining balance if the withdrawal is allowed.
π‘ Why This Matters
π Real World
Banking apps and many other programs use exceptions to stop errors and keep data safe.
πΌ Career
Knowing how to use <code>throw</code> helps you write safer Java programs that handle mistakes properly.
Progress0 / 4 steps
1
Set up account balance and withdrawal amount
Create a variable called balance and set it to 500. Create another variable called withdrawAmount and set it to 600.
Java
Hint
Use int to create whole number variables.
2
Prepare to check withdrawal
Create a variable called errorMessage and set it to the string "Insufficient funds".
Java
Hint
Use String to store text messages.
3
Use throw to stop withdrawal if funds are low
Write an if statement that checks if withdrawAmount is greater than balance. Inside the if, use throw new IllegalArgumentException(errorMessage); to stop the program with the error message.
Java
Hint
The throw keyword is used to raise an exception and stop the program.
4
Show remaining balance if withdrawal allowed
Write a System.out.println statement that prints "Remaining balance: " plus the result of balance - withdrawAmount.
Java
Hint
If the withdrawal is too big, the program will stop and show the error message.
Practice
(1/5)
1.
What does the throw keyword do in Java?
easy
A. It catches an exception and handles it.
B. It sends an exception to stop normal program flow when an error occurs.
C. It declares a method can throw exceptions.
D. It creates a new thread for parallel execution.
Solution
Step 1: Understand the role of throw
The throw keyword is used to send an exception object explicitly when an error happens.
Step 2: Differentiate from other keywords
throw does not catch exceptions (that's catch), nor declare exceptions (that's throws), nor create threads.
Final Answer:
It sends an exception to stop normal program flow when an error occurs. -> Option B
Which of the following is the correct way to throw a new IllegalArgumentException in Java?
?
easy
A. throws new IllegalArgumentException("Invalid argument");
B. throw IllegalArgumentException("Invalid argument");
C. throw new IllegalArgumentException("Invalid argument");
D. throw new IllegalArgumentException;
Solution
Step 1: Check syntax for throwing exceptions
To throw an exception, use throw new ExceptionType("message") with parentheses and semicolon.
Step 2: Identify correct option
throw new IllegalArgumentException("Invalid argument"); uses correct syntax with new, parentheses, and semicolon. Options B and D miss parentheses or new. throws new IllegalArgumentException("Invalid argument"); uses throws which is for method declarations, not throwing.
Final Answer:
throw new IllegalArgumentException("Invalid argument"); -> Option C
Quick Check:
throw + new + parentheses = A [OK]
Hint: Throw exceptions with 'throw new ExceptionType()' syntax [OK]
Common Mistakes:
Omitting 'new' keyword
Using 'throws' instead of 'throw'
Missing parentheses after exception class
3.
What will be the output of the following Java code?
public class TestThrow {
public static void main(String[] args) {
try {
throw new RuntimeException("Error happened");
} catch (RuntimeException e) {
System.out.println(e.getMessage());
}
}
}
medium
A. Error happened
B. RuntimeException
C. Compilation error
D. No output
Solution
Step 1: Analyze the try block
The code throws a new RuntimeException with message "Error happened".
Step 2: Analyze the catch block
The catch block catches the exception and prints its message using e.getMessage(), which is "Error happened".
Final Answer:
Error happened -> Option A
Quick Check:
Exception message printed = C [OK]
Hint: Catch prints exception message with getMessage() [OK]
Common Mistakes:
Expecting exception type name instead of message
Thinking code causes compilation error
Assuming no output without catch
4.
Identify the error in the following code snippet:
public class Example {
public static void main(String[] args) {
throw new Exception("Problem");
}
}
medium
A. Missing try-catch block or throws declaration for checked exception.
B. Incorrect exception message format.
C. Cannot throw exceptions in main method.
D. Exception class does not exist.
Solution
Step 1: Identify exception type
The code throws Exception, which is a checked exception in Java.
Step 2: Check handling of checked exceptions
Checked exceptions must be either caught in a try-catch block or declared with throws in the method signature. This code does neither, causing a compile error.
Final Answer:
Missing try-catch block or throws declaration for checked exception. -> Option A
Quick Check:
Checked exceptions need handling = D [OK]
Hint: Checked exceptions require try-catch or throws declaration [OK]
Common Mistakes:
Ignoring checked exception rules
Thinking main cannot throw exceptions
Confusing checked and unchecked exceptions
5.
Consider this method that throws an exception if the input is negative:
public void checkNumber(int num) {
if (num < 0) {
throw new IllegalArgumentException("Negative number not allowed");
}
System.out.println("Number is " + num);
}
How should you call this method safely in your code?
hard
A. Use throw keyword again when calling checkNumber.
B. Call checkNumber without any try-catch because IllegalArgumentException is checked.
C. Declare throws IllegalArgumentException in the calling method and do not catch.
D. Call checkNumber inside a try-catch block catching IllegalArgumentException.
Solution
Step 1: Identify exception type thrown
The method throws IllegalArgumentException, which is an unchecked exception.
Step 2: Decide safe calling practice
Although unchecked exceptions do not require declaration, to handle errors safely, call the method inside a try-catch block catching IllegalArgumentException.
Final Answer:
Call checkNumber inside a try-catch block catching IllegalArgumentException. -> Option D
Quick Check:
Catch unchecked exceptions to handle errors safely = A [OK]
Hint: Catch exceptions even if unchecked for safer code [OK]