Though Java provides an extensive set of in-built exceptions, there are cases in which we may need to define our own exceptions in order to handle the various application specific errors that we might encounter.
also read:
- Java Tutorials
- Java EE Tutorials
- Design Patterns Tutorials
- Java File IO Tutorials
While defining an user defined exception, we need to take care of the following aspects:
- The user defined exception class should extend from Exception class.
- The toString() method should be overridden in the user defined exception class in order to display meaningful information about the exception.
Let us see a simple example to learn how to define and make use of user defined exceptions.
NegativeAgeException.java
[code lang=”java”]
public class NegativeAgeException extends Exception {
private int age;
public NegativeAgeException(int age){
this.age = age;
}
public String toString(){
return "Age cannot be negative" + " " +age ;
}
}
[/code]
CustomExceptionTest.java
[code lang=”java”]
public class CustomExceptionTest {
public static void main(String[] args) throws Exception{
int age = getAge();
if (age < 0){
throw new NegativeAgeException(age);
}else{
System.out.println("Age entered is " + age);
}
}
static int getAge(){
return -10;
}
}
[/code]
In the CustomExceptionTest
class, the age is expected to be a positive number. It would throw the user defined exception NegativeAgeException
if the age is assigned a negative number.
At runtime, we get the following exception since the age is a negative number.
[code lang=”java”]
Exception in thread "main" Age cannot be negative -10
at tips.basics.exception.CustomExceptionTest.main(CustomExceptionTest.java:10)
[/code]
Leave a Reply