How to Create an Exception Class in Java
See Java: Tips and Tricks for similar articles.
Java has many built-in exception classes, such as NullPointerException and IllegalArgumentException. At times however, you might want to create your own exception class. For example, as opposed to throwing IllegalArgumentException when a 0 is detected as a divisor during a division operation, you might wish to throw a DivideByZeroException. This exception class does not exist in the Java core API, but you can create one yourself. The seven steps below will show you how to create an exception class in Java.
- First, you will create the custom exception class. Open your text editor and type in the following Java statements:
The class extends the Exceptionclass that is defined in the Java core API (in the package isjava.lang). When extendingExceptionyou are defining a "checked" exception, i.e., an exception that must be caught or thrown. A constructor is provided that passes the message argument to the super classException. TheExceptionclass supports amessageproperty. - Save your file as DivideByZeroException.java.
- Open a command prompt and navigate to the directory containing your Java program. Then type in the command to compile the source and hit Enter.

- Now you will create the program to test your new exception class. Open your text editor and type in the following Java statements:
Notice that the divideIntmethod must provide athrowclause because the method potentially throws theDivideByZeroException. To create the exception object, the program uses thethrowkeyword followed by the instantiation of the exception object. At runtime, thethrowclause will terminate execution of the method and pass the exception to the calling method. - Save your file as TestDivideByZeroException.java.
- Open a command prompt and navigate to the directory containing your Java program. Then type in the command to compile the source and hit Enter.

- Type in the command to run your program and hit Enter.
The first call to the divideIntmethod is successful. The second call, using a divisor of 0, causes theDivideByZeroExceptionto be thrown in thedivideIntmethod. The message passed to the constructor is displayed in the output.
