Difference Between Throw and Throws

Difference Between Throw and Throws

3 mins read8.2K Views Comment
Anshuman
Anshuman Singh
Senior Executive - Content
Updated on Jun 11, 2024 13:25 IST

Before we explore the difference between Throw and Throws, let’s understand what an exception is. An exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions. Now, coming back to the main topic – Throw vs. Throws.

2023_02_MicrosoftTeams-image-269.jpg

The main difference between Throw and Throws keywords in Java programming is that you can use the Throw keyword to throw an exception explicitly in the code. In contrast, you can use the Throws keyword to declare that a method might throw an exception in the code.

You can also explore: Java Basics: Understanding the Fundamentals

Before moving further and diving deeper into the article, let’s first go through the list of topics listed under the table of contents (TOC) that we will cover in this article. Here’s the table of contents:

Table of Contents (TOC)

Difference Between Throw and Throws 

For a better understanding of the difference between Throw and Throws keywords in Java, let’s cover it in a tabular format. 

Benchmark Throw Keyword Throws Keyword
Usage You use the Throw keyword to throw an exception explicitly. You can use the Throws keyword to declare that a method might throw an exception.
Declaration The Throw keyword is used inside a method. The Throws keyword is used in the method signature.
The syntax is followed by An instance of exception to be thrown. Class names of exceptions to be thrown.
Can this keyword propagate the checked exceptions? No. Yes.
Number of exceptions that can be thrown using this keyword Only one exception Multiple exceptions

You must also explore: Top Java Project Ideas for Beginners to Try in 2023

What is Throw keyword in Java? 

Throw Keyword Definition: The Throw keyword in Java allows you to throw an exception explicitly in the code.

The throw keyword comes in handy when you want to raise an exception in your code based on specific conditions. In order to understand this, let’s go through an example.

Throw Example:


 
if (balance < withdrawAmount) {
throw new InsufficientBalanceException("You have insufficient balance");
}
Copy code

In the above code, if the balance is less than the withdraw amount, an InsufficientBalanceException is thrown using the Throw keyword. A “try-catch” block will catch the exception in the calling code. Once this is done, an exception message, “You have insufficient balance,” will be displayed.

Your Career Awaits: Discover the Best Government Job-Oriented Courses After 10 & Online Government Certification Opportunities

What is Throws keyword in Java? 

Throws Keyword Definition: The Throws keyword in Java is used in a method signature to declare that the method might throw an exception.

When you declare a method using the Throws keyword, the method does not handle the exception itself. But instead, it passes it on to the calling code. The calling code must either handle the exception using a “try-catch” block or declare it in its own method signature using the Throws keyword.

You can aslo explore: Exception Handling in Java

By using this keyword, the method can throw the exception without handling it. Thus making the code more modular and easier to maintain. In order to understand the Throws Keyword, let’s go through an example.

You can also explore: Synchronizing Threads in Java: A Practical Guide

Throws Example:


 
public void withdraw(double amount) throws InsufficientBalanceException {
if (balance < withdrawAmount) {
throw new InsufficientBalanceException("You have insufficient balance");
}
// ...
}
Copy code

In the above code, the Throws InsufficientBalanceException in the method signature declares that the withdraw method might throw an InsufficientBalanceException. The calling code must either catch the exception using a try-catch block or declare it in its own method signature using the throws keyword.

You can also explore: Static Keyword in Java

Must explore: List of Keywords in Java

Key Differences Between Throw and Throws

Here are the key differences between the Throw and Throws keywords in Java:

  • Throw keyword cannot propagate the checked exceptions, but the Throws keyword is capable of doing so.
  • The Throw keyword is used inside a method. Whereas the Throws keyword is used in the method signature.
  • The Throw keyword throws an exception explicitly. Whereas the Throws keyword declares that a method might throw an exception.
  • Throw syntax is followed by an instance of exception to be thrown. In contrast, the Throws syntax is followed by the class names of exceptions to be thrown.
  • The number of exceptions that can be thrown using the Throw keyword is only one. In contrast, the number of exceptions that can be thrown using the Throws keyword is multiple.

You can also explore: Top 160 Java Interview Questions and Answers for 2022

About the Author
author-image
Anshuman Singh
Senior Executive - Content

Anshuman Singh is an accomplished content writer with over three years of experience specializing in cybersecurity, cloud computing, networking, and software testing. Known for his clear, concise, and informative wr... Read Full Bio