How to create custom exception in java

In this post, we will see how to create custom exception in java. It is very simple to create custom exception in java. You just need to extends Exception class to create custom exception.
Lets understand this with example. You have list of counties and if You have "USA" in list of country, then you need to throw invalidCountryException(Our custom exception).
Example: 
Create InvalidCountryException.java as below
package org.arpit.java2blog;

public class InvalidCountryException extends Exception{

 InvalidCountryException(String message)
 {
  super(message);
 }
}
Create POJO class called Country.java
package org.arpit.java2blog;

public class Country {
 
 private String name;
 
 Country(String name ){
 this.name = name;
 }
  public String toString() {
   return name;
  }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
  
 
}

Lets create CountryCheckMain.java. This class will have main method.
package org.arpit.java2blog;

import java.util.ArrayList;
import java.util.List;

public class CountryCheckMain {

 public static void main(String args[]) {
  List<Country> countries = new ArrayList<Country>();
  Country indiaCountry = new Country("India");
  Country chinaCountry = new Country("China");
  Country nepalCountry = new Country("Nepal");
  Country bhutanCountry = new Country("Bhutan");
  countries.add(indiaCountry);
  countries.add(chinaCountry);
  countries.add(nepalCountry);
  countries.add(bhutanCountry);
  boolean safe;
  try {
   safe = checkListOfCountries(countries);
   if (safe)
    System.out.println("We don't have USA in list of Countries");
   Country USACountry = new Country("USA");
   countries.add(USACountry);
   checkListOfCountries(countries);
  } catch (InvalidCountryException e) {
   e.printStackTrace();
  }

 }

 public static boolean checkListOfCountries(List<Country> countries) throws InvalidCountryException {
  for (int i = 0; i < countries.size(); i++) {
   Country country = countries.get(i);
   if (country.getName().equals("USA")) {
    throw new InvalidCountryException("USA is not allowed");
   }  
  }
  return true;
 }
}

When you run above program, you will get following output:
We don't have USA in list of Country
org.arpit.java2blog.InvalidCountryException: USA is not allowed
 at org.arpit.java2blog.CountryCheckMain.checkListOfCountries(CountryCheckMain.java:37)
 at org.arpit.java2blog.CountryCheckMain.main(CountryCheckMain.java:25)

As you can see, if we have "USA" in list of Countries,we are throwing InvalidCountryException.

Written by Arpit:

If you have read the post and liked it. Please connect with me on Facebook | Twitter | Google Plus

 

Java tutorial for beginners Copyright © 2012