ThreadDeath (Java SE 14 & JDK 14)
Description: declaration: module: java.base, package: java.lang, class: ThreadDeath
Keywords: java.lang.ThreadDeath class

Module java.base
Package java.lang

# Class ThreadDeath

java.lang.Object
java.lang.Throwable
java.lang.Error
java.lang.ThreadDeath

All Implemented Interfaces:
  `Serializable`

    public class ThreadDeath
    extends Error

An instance of `ThreadDeath` is thrown in the victim thread when the (deprecated) `Thread.stop()` method is invoked.

An application should catch instances of this class only if it must clean up after being terminated asynchronously. If `ThreadDeath` is caught by a method, it is important that it be rethrown so that the thread actually dies.

The top-level error handler does not print out a message if `ThreadDeath` is never caught.

The class `ThreadDeath` is specifically a subclass of `Error` rather than `Exception`, even though it is a "normal occurrence", because many applications catch all occurrences of `Exception` and then discard the exception.

Since:
  1.0
See Also:
  Serialized Form

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `ThreadDeath()` | Constructs a `ThreadDeath`.

- ## Method Summary

  ### Methods declared in class java.lang.Throwable

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

  ### Methods declared in class java.lang.Object

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

- ## Constructor Details

  - ### ThreadDeath

    public ThreadDeath()
    Constructs a `ThreadDeath`.