Java throws keyword

throws are used to throw an exception object implicitly. It is used with the method signature. More than one type of exception can be declared with method signature, they should be comma-separated.

Note:

  1. throws are mainly used to throw a checked exception.
  2. If you are calling a method that declares an exception, you must either catch or declare the exception.
  3. We can rethrow the exception.

Syntax

methodName () throws comma separated list of exceptionClassNames{}

Example of throw keyword in Java:

class ArithmaticTest{
	
	public void division(int num1, int num2) 
                             throws ArithmeticException{
		//java.lang.ArithmeticException here.
		System.out.println(num1/num2);
	}
	
	public void method1(int num1, int num2) throws Exception{
		division(num1, num2);
	}
	
	public void method2(int num1, int num2){
		try{
			method1(num1, num2);
		}catch(Exception e){
			System.out.println("Exception Handled");
		}
	}
}

public class ExceptionThrowsExample {
	public static void main(String args[]){
		//creating ArithmaticTest object
		ArithmaticTest obj =  new ArithmaticTest();
		
		//method call
		obj.method2(20, 0);
	}
}

Output

Exception Handled

 

 Difference between throw and throws.

                    throw keyword                     throws keyword
  1. Used to explicitly throw an exception.
  2. Only unchecked exceptions can propagate using throw.
  3. They are used within the method.
  4. You cannot throw multiple exceptions.
  1. Used to throw an exception implicitly.
  2. Both checked and unchecked exceptions can propagate using throws.
  3. They are used with the method signature.
  4. Can declare multiple exceptions.