Difference between throw and throws clause?

A program can throw an exception, using throw statement. When an exception is thrown, normal execution is suspended. The runtime system proceeds to find a catch block that can handle the exception. The exceptions are caught under the Exception class. This class is used for giving user defined exception. To use this class throw keyword is used.

//Program using throw keyword

class check_age extends Exception// inheriting the exception class

{

public String toString()

{

return "Age cannot be less than 18";

}

static void age(int a)

{

try// to handle exception try and catch block is given

{

if(a<18)

{

check_age obj= new check_age();

throw obj;// throwing exception using class object

}

else

System.out.println("Adult");

}

catch(Exception e)// catch block to give error message

{

System.out.println(e);

}

}

public static void main(String args[])

{

age(Integer.parseInt(args[0]));

}

}

However if the user wants to handle the Exception at some point like in other class then the Java provides with the throws statement.

class check_age extends Exception// inheriting the exception class

{

public String toString()

{

return "Age cannot be less than 18";

}

}

class a

{

static void age(int a)throws Exception

{

if(a<18)

{

check_age obj= new check_age();

throw obj;

}

else

System.out.println("Adult");

}

public static void main(String args[])

{

try

{

a obj1=new a();

obj1.age(Integer.parseInt(args[0]));

}

catch(Exception e)

{

System.out.println(e);

}

}

}

Comments

Popular posts from this blog

Bluetooth Data Transfer Example

How to Create & Extract tar.gz and tar.bz2 Files in Linux