• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

SoftwareTestingo - Interview Questions, Tutorial & Test Cases Template Examples

SoftwareTestingo - Interview Questions, Tutorial & Test Cases Template Examples

  • Home
  • Interview Questions
  • Java
  • Java Programs
  • Selenium
  • Selenium Programs
  • Manual Testing
  • Test Cases
  • Difference
  • Tools
  • SQL
  • Contact Us
  • Search
SoftwareTestingo » Difference » Difference Between Throw VS Throws in Java

Difference Between Throw VS Throws in Java

Last Updated on: April 10, 2019 By Softwaretestingo Editorial Board

What We Are Learn On This Post

  • Throw Clause or Throw Keyword
  • Difference Between Throw VS Throws

Throw VS Throws in Java: In this article, we will discuss the difference between throw and throws clause in detail with a few examples.

Throw Clause or Throw Keyword

  • the throw keyword is used to throw an exception explicitly
  • It is used within the method to throw an exception explicitly
  • It is generally used for throwing user-defined exception or custom exception
  • Although, it is valid & possible to throw a pre-defined exception or already defined exception in Java too
  • Maximum of only one exception can be thrown using throw keyword and it can be checked exception or unchecked exception or a user-defined exception
  • the throw keyword is always followed by instance (i.e.; instance of any type of exception)

Syntax:

throw instanceOfExceptionType;
Read Also: HashMap VS HashSet Java
  • throws keyword is used to declare an exception, indicating the caller method to handle the exception whenever invoking
  • with the usage of throws clause, any type of exception can be declared (i.e.; checked exception or unchecked exception or user-defined exception)
  • Any number of the exception can be declared next to the method signature, with a comma (,) separating them
  • throws keyword is always followed by class (this class must be a pre-defined exception or user-defined exception which must be a subclass of Throwable class or one of its sub-class)

Syntax:

access_modifier return_type method_name() throws exception_list;

Let us move on and discuss them on a one-on-one parameter in the tabular format

Check Also: Throws Keyword in Java

Difference Between Throw VS Throws

Throw Clause/ Keyword  Throws clause/keyword
the throw keyword is used to throw an exception explicitly throws keyword is used to declare an exception to delegate/indicate exception handling the responsibility to caller method
the throw keyword is always followed by an instance of the Throwable type or exception type throws keyword is always followed by an exception list (with a comma separating them)
the throw keyword is used within method i.e.; to throw an exception from try-catch block enclosed within a method throws keyword is used next to the method signature
Syntax:

throw instanceOfExceptionType;

Syntax:
access_modifier
return_type method_name() throws exception_list;

Maximum of only one exception can be thrown using throw keywordThrown exception can be checked exception unchecked exception or a user-defined exception Any number of the exception can be declared (to be thrown) using throws keyword but they are all separated by a comma (,)
Check Also: Checked vs Unchecked exception

Example of Throw and Throws Keyword

  • Whenever checked exception (it may be a pre-defined or user-defined exception) is thrown explicitly using throw keyword, then it must be handled either using a try-catch block or throws clause. Therefore, we have used throws clause to delegate the exception responsibility to the caller method
  • But whenever unchecked exception (it may be a pre-defined or user-defined exception) is thrown explicitly using throw keyword, then it is not necessary to handle. It is up to the choice of a programmer to handle it

Example 1: checked exception

ThrowAndThrowsExample.java

import java.io.FileNotFoundException;
public class ThrowAndThrowsExample {
    public static void main(String[] args) throws FileNotFoundException {
        // must be surrounded with try-catch block compulsorily,
        // because we are invoking method throwing checked exception OR throws clause
        printFileContent();
    }
    // throwing checked exception
    public static void printFileContent() throws FileNotFoundException  {
        // assumed that, we are trying to access file from remote location
        // FileReader fileReader = new FileReader("D:/Folder/test.txt");
        throw new FileNotFoundException("File is not available");
        // further file processing
    }
}
Read Also: Default Constructor in Java

Example 2: unchecked exception

Explicitly throwing an exception using throw keyword

ThrowWithUncheckedExceptionExample.java

Check Also: Entry and Exit criteria
public class ThrowWithUncheckedExceptionExample {
    public static void main(String[] args) {
        // invoking method
        anotherMethod(null);
    }
    public static void anotherMethod(String str) {
        if(str == null){
            throw new NullPointerException("Please send some valid Sgring");
        }
        // further processing with the string value
    }
}

    Filed Under: Difference

    Reader Interactions

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    Primary Sidebar

    Join SoftwareTestingo Telegram Group

    Categories

    Copyright © 2022 SoftwareTestingo.com ~ Contact Us ~ Sitemap ~ Privacy Policy ~ Testing Careers