Skip to main content

User defined exceptions in java

User defined exception in Java


User defined exceptions in java are also known as Custom exceptions. Most of the times when we are developing an application in java, we often feel a need to create and throw our own exceptions. These exceptions are known as User defined or Custom exceptions. In this tutorial we will see how to create and throw such  exceptions in a java program.

Example of User defined exception in Java

class MyException extends Exception{
    String str1;
    MyException(String str2) {
       str1=str2;
    }
    public String toString(){ 
       return ("Output String = "+str1) ;
    }
}

class CustomException{
    public static void main(String args[]){
       try{
          throw new MyException("Custom");
          // I'm throwing user defined custom exception above
       }
       catch(MyException exp){
          System.out.println("Hi this is my catch block") ;
          System.out.println(exp) ;
       }
    }
}
Output:
Hi this is my catch block
Output String = Custom

Key-points from above example:


You can see that while throwing my custom exception I gave a string in parenthesis ( throw new MyException("Custom");). That’s the reason we have a parametric constructor (with a String parameter) in my custom exception class.
Notes :
  • User defined exception needs to inherit (extends) Exception class in order to act as an exception.
  • throw keyword is used to throw such exceptions.

Another example where in we will modify the error message of Exception Class

Part 1: 
I have created my own exception class- MyException by inheriting the parent class Exception then I have defined a parametric constructor of my class with a String parameter. In the constructor I called super(), super refers to the super class { My class has inherited Exception class so Exception class is my superclass }. In this way I have modified the system generated message by my own message.
public class MyException extends Exception
{
    public MyException(String mymsg)
    {
        super(mymsg);
    }
}
Part 2 :
public class ExceptionSample
{
    public static void main(String args[]) throws Exception
    {
        ExceptionSample es = new ExceptionSample();
        es.displayMymsg();
    }
    public void displayMymsg() throws MyException
    { 
        for(int j=8;j>0;j--)
        {
          System.out.println("j= "+j);
          if(j==7)
          {
              throw new MyException("This is my own Custom Message");
          }
        }
    }
}
Output:
j = 8
j = 7
Exception in thread "main" MyException: This is my own Custom Message
at ExceptionSample.displayMymsg( ExceptionSample.java.19)
...

Comments

Popular posts from this blog

Switch Case

Syntax : Switch Case in Java Programming It is alternative to else-if ladder. Switch Case Syntax is similar to – C/C++  Switch. Switch allows you to choose a block of statements to run from a selection of code, based on the return value of an expression. The expression used in the switch statement must return an  int, a String, or an enumerated value . switch (selection) { // value case value1 : // checking value 1 statement ( s ) ; break ; // use to break switch flow if condition match case value2 : // checking value 2 statement ( s ) ; break ; . . case value_n : statement ( s ) ; break ; default : statement ( s ) ; } Different Ways of Using Switch Case : Switch Case Using Integer Case int i=3; switch (i) { case 1 : System . out . println ( "One player is playing this game." ) ; break ; case 2 : System . out . println ( "Two players are playing ...

Inheritance in Java

Inheritance in Java Inheritance  is one of the feature of Object-Oriented Programming (OOPs). Inheritance allows a class to use the properties and methods of another class. In other words, the derived class inherits the states and behaviors from the base class. The derived class is also called subclass and the base class is also known as super-class . The derived class can add its own additional variables and methods. These additional variable and methods differentiates the derived class from the base class. Inheritance is a  compile-time  mechanism. A super-class can have any number of subclasses . But a subclass can have only one superclass. This is because Java does not support multiple inheritance. The superclass and subclass have  “is-a”  relationship between them. Let’s have a look at the example below. Inheritance  Example Let’s consider a superclass  Vehicle . Different vehicles have different features and properties howeve...

Multilevel inheritance

Multilevel inheritance We discussed a bit about  Multilevel inheritance  in types of inheritance in java. In this tutorial we will explain multilevel inheritance with the help of   diagram  and  example program . It’s pretty clear with the diagram that in Multilevel inheritance there is a concept of grand parent class. If we take the example of above diagram then class C inherits class B and class B inherits class A which means B is a parent class of C and A is a parent class of B. So in this case class C is implicitly inheriting the properties and method of class A along with B that’s what is called multilevel inheritance. Example : In this example we have three classes –  Car, Maruti and Maruti800. We have done a setup – class Maruti extends Car and class Maurit800 extends Maurti. With the help of this Multilevel hierarchy setup our Maurti800 class is able to use the methods of both the classes (Car and Maruti). class Car { ...