- Create a user defined exception in java.
- Create a custom exception, by extending unchecked exceptions.
- We will create CustomArithmeticException by extending ArithmeticException class
- We will create CustomNullPointerException by extending NullPointerException class.
Exception class hierarchy in java
Program – Custom user defined arithmetic & nullpointer exception
1.) CustomArithmeticException Class:
- Create CustomArithmeticException class, by extending ArithmeticException exception class.
package org.learn.exception; public class CustomArithmeticException extends ArithmeticException { private static final long serialVersionUID = 652325545058196579L; public CustomArithmeticException(String s) { super(s); } }
2.) CustomNullPointerExceptionClass:
- Create CustomNullPointerException class by extending NullPointerException class.
package org.learn.exception; public class CustomNullPointerException extends NullPointerException { private static final long serialVersionUID = 5627096569547521249L; public CustomNullPointerException(String s) { super(s); } }
3.) ExceptionClient Class:
- ExceptionClient class containing main method
- We are simulating CustomArithmeticException & CustomNullPointerException.
- We are catching CurstomArithmeticException & CustomNullPointerException.
package org.learn.client; import org.learn.exception.CustomArithmeticException; import org.learn.exception.CustomNullPointerException; public class ExceptionClient { public static void main(String[] args) { // 1. Throw & catch ArithmeticException try { simulateArithmeticException(); } catch (CustomArithmeticException exp) { System.out.println("1. Caught MyArithmeticException:"+exp.getMessage()); } // 2. Throw & catch NullPointerException try { simulateNullPointerException(); } catch (CustomNullPointerException exp) { System.out.println("2. Caught MyNullPointerException : "+exp.getMessage()); } } private static void simulateArithmeticException() { int divByZero = 0; try { divByZero = 100 / 0; System.out.println("divByZero value:"+divByZero); } catch (ArithmeticException exp) { throw new CustomArithmeticException("ArithmeticException occurred : " + exp.getMessage()); } } @SuppressWarnings("null") private static void simulateNullPointerException() { try { String blankString = null; System.out.println("String length :"+blankString.length()); //simulating null pointer exception. } catch (NullPointerException exp) { throw new CustomNullPointerException("NullPointerException occurred "); } } }
Output – Custom user defined arithmetic & nullPointer exception
1. Caught MyArithmeticException:ArithmeticException occurred : / by zero 2. Caught MyNullPointerException : NullPointerException occurred
Download code – Custom User defined /Unchecked exception