# Class Throwable

java.lang.Object
java.lang.Throwable

Direct Known Subclasses:
  `Error, Exception`

public class Throwable extends Object
The Throwable class is the superclass of all errors and exceptions in the Java language. Only objects that are instances of this class (or of one of its subclasses) are thrown by the Java Virtual Machine or can be thrown by the Java throw statement. Similarly, only this class or one of its subclasses can be the argument type in a catch clause. Instances of two subclasses, Error and Exception, are conventionally used to indicate that exceptional situations have occurred. Typically, these instances are freshly created in the context of the exceptional situation so as to include relevant information (such as stack trace data). By convention, class Throwable and its subclasses have two constructors, one that takes no arguments and one that takes a String argument that can be used to produce an error message. A Throwable class contains a snapshot of the execution stack of its thread at the time it was created. It can also contain a message string that gives more information about the error. Here is one example of catching an exception: Since: JDK1.0, CLDC 1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Throwable()`
  Constructs a new Throwable with null as its error message string.
  `Throwable(String message)`
  Constructs a new Throwable with the specified error message.
  `Throwable(String message, Throwable cause)`
  Constructs a new throwable with the specified detail message and cause.
  `Throwable(Throwable cause)`
  Constructs a new throwable 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

  Modifier and Type
  Method
  Description
  `final void`
  `addSuppressed(Throwable exception)`
  `Throwable`
  `getCause()`
  Returns the cause of this throwable or null if the cause is nonexistent or unknown.
  `String`
  `getLocalizedMessage()`
  `String`
  `getMessage()`
  Returns the error message string of this Throwable object.
  `StackTraceElement[]`
  `getStackTrace()`
  `final Throwable[]`
  `getSuppressed()`
  `Throwable`
  `initCause(Throwable cause)`
  Deprecated.
  DO NOT USE THIS METHOD, its here just to get the compiler working and isn't intended for use
  `void`
  `printStackTrace()`
  Prints this Throwable and its backtrace to the standard error stream.
  `void`
  `setStackTrace(StackTraceElement[] el)`
  `String`
  `toString()`
  Returns a short description of this Throwable object.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the 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 current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Constructor Details

  - ### Throwable

    public Throwable()
    Constructs a new Throwable with null as its error message string.

  - ### Throwable

    public Throwable(Throwable cause)
    Constructs a new throwable with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause).
    Parameters:
      `cause` - The cause

  - ### Throwable

    public Throwable(String message)
    Constructs a new Throwable with the specified error message. message - the error message. The error message is saved for later retrieval by the method.

  - ### Throwable

    public Throwable(String message, Throwable cause)
    Constructs a new throwable with the specified detail message and cause.
    Parameters:
      `message` - The error message.
      `cause` - The cause

- ## Method Details

  - ### initCause

    public Throwable initCause(Throwable cause)
    Deprecated.
    DO NOT USE THIS METHOD, its here just to get the compiler working and isn't intended for use

  - ### getCause

    public Throwable getCause()
    Returns the cause of this throwable or null if the cause is nonexistent or unknown.
    Returns:

  - ### getMessage

    public String getMessage()
    Returns the error message string of this Throwable object.

  - ### printStackTrace

    public void printStackTrace()
    Prints this Throwable and its backtrace to the standard error stream. This method prints a stack trace for this Throwable object on the error output stream that is the value of the field System.err. The first line of output contains the result of the method for this object. The format of the backtrace information depends on the implementation.

  - ### toString

    public String toString()
    Returns a short description of this Throwable object. If this Throwable object was with an error message string, then the result is the concatenation of three strings: The name of the actual class of this object ": " (a colon and a space) The result of the method for this object If this Throwable object was with no error message string, then the name of the actual class of this object is returned.
    Overrides:
      `toString` in class `Object`

  - ### addSuppressed

    public final void addSuppressed(Throwable exception)

  - ### getStackTrace

    public StackTraceElement[] getStackTrace()

  - ### setStackTrace

    public void setStackTrace(StackTraceElement[] el)

  - ### getSuppressed

    public final Throwable[] getSuppressed()

  - ### getLocalizedMessage

    public String getLocalizedMessage()