Home | | Web Programming | throws - Java

Chapter: Java The Complete Reference : The Java Language : Exception Handling

throws - Java

If a method is capable of causing an exception that it does not handle, it must specify this behavior so that callers of the method can guard themselves against that exception.

throws

 

If a method is capable of causing an exception that it does not handle, it must specify this behavior so that callers of the method can guard themselves against that exception. You do this by including a throws clause in the method’s declaration. A throws clause lists the types of exceptions that a method might throw. This is necessary for all exceptions, except those of type Error or RuntimeException, or any of their subclasses. All other exceptions that a method can throw must be declared in the throws clause. If they are not, a compile-time error will result.

 

This is the general form of a method declaration that includes a throws clause:

 

type method-name(parameter-list) throws exception-list

 

{

 

// body of method

 

}

 

Here, exception-list is a comma-separated list of the exceptions that a method can throw. Following is an example of an incorrect program that tries to throw an exception that

 

it does not catch. Because the program does not specify a throws clause to declare this fact, the program will not compile.

 

// This program contains an error and will not compile. 

class ThrowsDemo {

 

static void throwOne() { 

System.out.println("Inside throwOne."); throw new IllegalAccessException("demo");

 

}

 

public static void main(String args[]) { throwOne();

 

}

}

 

To make this example compile, you need to make two changes. First, you need to declare that throwOne( ) throws IllegalAccessException. Second, main( ) must define a try / catch statement that catches this exception.

The corrected example is shown here:

 

// This is now correct. 


class ThrowsDemo {

 

static void throwOne() throws IllegalAccessException { 

System.out.println("Inside throwOne.");

 

throw new IllegalAccessException("demo");

 

}

 

public static void main(String args[]) { try {

 

throwOne();

 

} catch (IllegalAccessException e) { 

System.out.println("Caught " + e);

}

 

}

 

}

 

Here is the output generated by running this example program:

 

inside throwOne

 

caught java.lang.IllegalAccessException: demo

 

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Java The Complete Reference : The Java Language : Exception Handling : throws - Java |


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.