How to Create a Custom Exception in Java

Published Jul 13, 2022

We can create a custom exception class by extending the Exception class and implementing the constructors.

public class CustomException extends Exception {}

1. Creating a custom exception

We’ll want to ensure we implement every constructor listed in the Constructor Summary of the Exception documentation.

public class CustomException extends Exception {
  public CustomException() {}
  public CustomException(String message) {
    super(message);
  }
  public CustomException(Throwable cause) {
    super(cause);
  }
  public CustomException(String message, Throwable cause) {
    super(message, cause);
  }
}

In particular, we’ll want the last two constructors (i.e. Throwable(Throwable), Throwable(String, Throwable)) to support chained exceptions, which is very useful ƒor debugging.

2. Using the custom exception

We can throw our custom exception just as we would any other exception.

try {
  if (/* Reason for exception */) {
    throw new CustomException();
  }
} catch(CustomException ex) {
  // Process exception
}