How to Rethrow an Exception in Java

An exception can be rethrown in a catch block. This action will cause the exception to be passed to the calling method. If the rethrow operation occurs in the main method then the exception is passed to the JVM and displayed on the console. The purpose of the rethrow operation is to get the attention of the outside world that an exception has occurred and at the same time perform any contingency logic (such as logging) in the catch block. To learn how to rethrow an exception in Java, follow these four steps.

  1. Open your text editor and type in the following Java statements:
    Java Source for Rethrowing an Exception
    The program attempts to access the first element of the args array. This array is populated with any command line parameters that were present when the program was started. If no command line parameters were provided by the console user, then an ArrayIndexOutOfBoundsException is thrown at runtime. This exception is caught by the program. A log entry is produced, then the exception is rethrown to the JVM (see line 9).
  2. Save your file as
  3. Open a command prompt and navigate to the directory containing your Java program. Then type in the command to compile the source and hit Enter.
    Compile Source for Rethrow Exception
  4. Type in the command to run your program without providing a command line parameter and hit Enter.
    Run for Test Rethrow Exception
    When the program attempts to access the args array, an ArrayIndexOutOfBoundsException is thrown. The catch block generates a log message to the console and then rethrows the exception to the JVM. The JVM displays the call stack trace for the exception on the console.
Author: Stephen Withrow

Stephen has over 30 years of experience in training, development, and consulting in a variety of technology areas including Python, Java, C, C++, XML, JavaScript, Tomcat, JBoss, Oracle, and DB2. His background includes design and implementation of business solutions on client/server, Web, and enterprise platforms. Stephen has a degree in Computer Science and Physics from Florida State University.

About Webucator

Webucator provides instructor-led training to students throughout the US and Canada. We have trained over 90,000 students from over 16,000 organizations on technologies such as Microsoft ASP.NET, Microsoft Office, Azure, Windows, Java, Adobe, Python, SQL, JavaScript, Angular and much more. Check out our complete course catalog.