# Class InvalidClassException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.io.ObjectStreamException
java.io.InvalidClassException

All Implemented Interfaces:
  `Serializable`

public class InvalidClassException extends ObjectStreamException
Thrown when the Serialization runtime detects one of the following problems with a Class.

- The serial version of the class does not match that of the class descriptor read from the stream
- The class contains unknown datatypes
- The class does not have an accessible no-arg constructor
- The ObjectStreamClass of an enum constant does not represent an enum type
- Other conditions given in the Java Object Serialization Specification

Since:
  1.1
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`String`
`classname`
Name of the invalid class.

## Constructor Summary

Constructors
Constructor
Description
`InvalidClassException(String reason)`
Report an InvalidClassException for the reason specified.
`InvalidClassException(String cname, String reason)`
Constructs an InvalidClassException object.
`InvalidClassException(String cname, String reason, Throwable cause)`
Report an InvalidClassException for the reason and cause specified.
`InvalidClassException(String reason, Throwable cause)`
Report an InvalidClassException for the reason and cause specified.

## Method Summary

Modifier and Type
Method
Description
`String`
`getMessage()`
Produce the message and include the classname, if present.

### Methods declared in class Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### classname

public String classname
Name of the invalid class.

## Constructor Details

### InvalidClassException

public InvalidClassException(String reason)
Report an InvalidClassException for the reason specified.

Parameters:
  `reason` - String describing the reason for the exception.

### InvalidClassException

public InvalidClassException(String cname, String reason)
Constructs an InvalidClassException object.

Parameters:
  `cname` - a String naming the invalid class.
  `reason` - a String describing the reason for the exception.

### InvalidClassException

public InvalidClassException(String reason, Throwable cause)
Report an InvalidClassException for the reason and cause specified.

Parameters:
  `reason` - String describing the reason for the exception.
  `cause` - the cause
Since:
  19

### InvalidClassException

public InvalidClassException(String cname, String reason, Throwable cause)
Report an InvalidClassException for the reason and cause specified.

Parameters:
  `cname` - a String naming the invalid class.
  `reason` - String describing the reason for the exception.
  `cause` - the cause
Since:
  19

## Method Details

### getMessage

public String getMessage()
Produce the message and include the classname, if present.

Overrides:
  `getMessage` in class `Throwable`
Returns:
  the detail message string of this `Throwable` instance (which may be `null`).