Class IllegalClassException

All Implemented Interfaces:
Serializable

@Deprecated(since="2021-04-30") public class IllegalClassException extends IllegalArgumentException
Deprecated.
Commons Lang 2 is in maintenance mode. Commons Lang 3 should be used instead.

Thrown when an object is an instance of an unexpected type (a class or interface). This exception supplements the standard IllegalArgumentException by providing a more semantically rich description of the problem.

IllegalClassException represents the case where a method takes in a genericly typed parameter like Object (typically because it has to due to some other interface it implements), but this implementation only actually accepts a specific type, for example String. This exception would be used in place of IllegalArgumentException, yet it still extends it.

  public void foo(Object obj) {
    if (obj instanceof String == false) {
      throw new IllegalClassException(String.class, obj);
    }
    // do something with the string
  }
  
Since:
2.0
See Also:
  • Constructor Details

    • IllegalClassException

      public IllegalClassException(Class expected, Object actual)
      Deprecated.

      Instantiates with the expected type, and actual object.

      Parameters:
      expected - the expected type
      actual - the actual object
      Since:
      2.1
    • IllegalClassException

      public IllegalClassException(Class expected, Class actual)
      Deprecated.

      Instantiates with the expected and actual types.

      Parameters:
      expected - the expected type
      actual - the actual type
    • IllegalClassException

      public IllegalClassException(String message)
      Deprecated.

      Instantiates with the specified message.

      Parameters:
      message - the exception message