Throw, try, and catch Blocks | Exception Handling In Java

Throw, try, and catch Blocks

To respond to an exception, the call to the method that produces it must be placed within a try block.

A try block is a block of code beginning with the try keyword followed by a left and right curly brace. Every try block is associated with one or more catch blocks. Here is a try block:

try
{
// method calls go here
}

If a method is to catch exceptions thrown by the methods it calls, the calls must be placed within a try block.

If an exception is thrown, it is handled in a catch block. Different catch blocks handle different types of exceptions.

This is a try block and a catch block set up to handle exceptions of type Exception:

try
{
// method calls go here
}
catch( Exception e )
{
// handle exceptons here
}

When any method in the try block throws any type of exception, execution of the try block ceases. Program control passes immediately to the associated catch block.
If the catch block can handle the given exception type, it takes over.

If it cannot handle the exception, the exception is passed to the method’s caller. In an application, this process goes on until a catch block catches the exception or the exception reaches the main() method uncaught and causes the application to terminate.

An Exceptional Example
The gradeTest application.

import java.io.* ;
import java.lang.Exception ;
public class gradeTest
{
public static void main( String[] args )
{
try
{
// the second call to passingGrade throws
// an excption so the third call never
// gets executed
System.out.println( passingGrade( 60, 80 ) ) ;
System.out.println( passingGrade( 75, 0 ) ) ;
System.out.println( passingGrade( 90, 100 ) ) ;
}
catch( Exception e )
{
System.out.println( “Caught exception –” +
e.getMessage() ) ;
}
}
static boolean passingGrade( int correct, int total )
throws Exception
{
boolean returnCode = false ;
if( correct > total ) {
throw new Exception( “Invalid values” ) ;
}
if ( (float)correct / (float)total > 0.70 )
{
returnCode = true ;
}
return returnCode ;
}
}
Output

The second call to passingGrade() fails in this case because the method checks to see whether the number of correct responses is less than the total responses.

When passingGrade() throws an exception, control passes to the main() method. In the example, the catch block in main() catches the exception and prints Caught exception – Invalid values.

Scroll to Top