# Class Exception

java.lang.Object
java.lang.Throwable
java.lang.Exception

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `AbsentInformationException, AgentInitializationException, AgentLoadException, AlreadyBoundException, AttachNotSupportedException, AWTException, BackingStoreException, BadAttributeValueExpException, BadBinaryOpValueExpException, BadLocationException, BadStringOperationException, BrokenBarrierException, CardException, CertificateException, ClassNotLoadedException, CloneNotSupportedException, DataFormatException, DatatypeConfigurationException, DestroyFailedException, ExecutionControl.ExecutionControlException, ExecutionException, ExpandVetoException, FontFormatException, GeneralSecurityException, GSSException, IllegalClassFormatException, IllegalConnectorArgumentsException, IncompatibleThreadStateException, InterruptedException, IntrospectionException, InvalidApplicationException, InvalidMidiDataException, InvalidPreferencesFormatException, InvalidTargetObjectTypeException, InvalidTypeException, InvocationException, IOException, JMException, JShellException, KeySelectorException, LambdaConversionException, LineUnavailableException, MarshalException, MidiUnavailableException, MimeTypeParseException, NamingException, NoninvertibleTransformException, NotBoundException, ParseException, ParserConfigurationException, PrinterException, PrintException, PrivilegedActionException, PropertyVetoException, ReflectiveOperationException, RefreshFailedException, RuntimeException, SAXException, ScriptException, ServerNotActiveException, SQLException, StringConcatException, TimeoutException, TooManyListenersException, TransformerException, TransformException, UnmodifiableClassException, UnsupportedAudioFileException, UnsupportedCallbackException, UnsupportedFlavorException, UnsupportedLookAndFeelException, URIReferenceException, URISyntaxException, VMStartException, XAException, XMLSignatureException, XMLStreamException, XPathException`

public class Exception extends Throwable
The class `Exception` and its subclasses are a form of `Throwable` that indicates conditions that a reasonable application might want to catch.

The class `Exception` and any subclasses that are not also subclasses of `RuntimeException` are checked exceptions. Checked exceptions need to be declared in a method or constructor's `throws` clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.

See Java Language Specification:
  11.2 Compile-Time Checking of Exceptions
Since:
  1.0
See Also:
  - `Error`
  - Serialized Form

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`Exception()`
Constructs a new exception with `null` as its detail message.
``
`Exception(String message)`
Constructs a new exception with the specified detail message.
``
`Exception(String message, Throwable cause)`
Constructs a new exception with the specified detail message and cause.
`protected`
`Exception(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)`
Constructs a new exception with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.
``
`Exception(Throwable cause)`
Constructs a new exception with the specified cause and a detail message of `(cause==null ? null : cause.toString())` (which typically contains the class and detail message of `cause`).

## Method Summary

### Methods declared in class Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`
Modifier and Type
Method
Description
`final void`
`addSuppressed(Throwable exception)`
Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
`Throwable`
`fillInStackTrace()`
Fills in the execution stack trace.
`Throwable`
`getCause()`
Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
`String`
`getLocalizedMessage()`
Creates a localized description of this throwable.
`String`
`getMessage()`
Returns the detail message string of this throwable.
`StackTraceElement[]`
`getStackTrace()`
Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
`final Throwable[]`
`getSuppressed()`
Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
`Throwable`
`initCause(Throwable cause)`
Initializes the cause of this throwable to the specified value.
`void`
`printStackTrace()`
Prints this throwable and its backtrace to the standard error stream.
`void`
`printStackTrace(PrintStream s)`
Prints this throwable and its backtrace to the specified print stream.
`void`
`printStackTrace(PrintWriter s)`
Prints this throwable and its backtrace to the specified print writer.
`void`
`setStackTrace(StackTraceElement[] stackTrace)`
Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.
`String`
`toString()`
Returns a short description of this throwable.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### Exception

public Exception()
Constructs a new exception with `null` as its detail message. The cause is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(Throwable)`.

### Exception

public Exception(String message)
Constructs a new exception with the specified detail message. The cause is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(Throwable)`.

Parameters:
  `message` - the detail message. The detail message is saved for later retrieval by the `Throwable.getMessage()` method.

### Exception

public Exception(String message, Throwable cause)
Constructs a new exception with the specified detail message and cause.

Note that the detail message associated with `cause` is not automatically incorporated in this exception's detail message.

Parameters:
  `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
  `cause` - the cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A `null` value is permitted, and indicates that the cause is nonexistent or unknown.)
Since:
  1.4

### Exception

public Exception(Throwable cause)
Constructs a new exception with the specified cause and a detail message of `(cause==null ? null : cause.toString())` (which typically contains the class and detail message of `cause`). This constructor is useful for exceptions that are little more than wrappers for other throwables (for example, `PrivilegedActionException`).

Parameters:
  `cause` - the cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A `null` value is permitted, and indicates that the cause is nonexistent or unknown.)
Since:
  1.4

### Exception

protected Exception(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)
Constructs a new exception with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.

Parameters:
  `message` - the detail message.
  `cause` - the cause. (A `null` value is permitted, and indicates that the cause is nonexistent or unknown.)
  `enableSuppression` - whether or not suppression is enabled or disabled
  `writableStackTrace` - whether or not the stack trace should be writable
Since:
  1.7