java.lang.isolate
Class IsolateEvent.ExitReason

java.lang.Object
  |
  +--java.lang.isolate.IsolateEvent.ExitReason
Enclosing class:
IsolateEvent

public static final class IsolateEvent.ExitReason
extends Object

Provides information about how an isolate became terminated. It indicates the "reason" the isolate died.

The last valid termination cause determines the reason code. For example, if an isolate exits implicitly (IMPLICIT_EXIT), but a remote isolate issues a halt during the execution of shutdown hooks, the OTHER_HALT code will be provided as the reason.

See Also:
IsolateEvent.getExitReason()

Field Summary
static IsolateEvent.ExitReason IMPLICIT_EXIT
          The last non-daemon thread returned from main.
static IsolateEvent.ExitReason OTHER_EXIT
          Some other isolate invoked Isolate.exit on the isolate.
static IsolateEvent.ExitReason OTHER_HALT
          Some other isolate invoked Isolate.halt on the isolate.
static IsolateEvent.ExitReason SELF_EXIT
          The isolate invoked System.exit, Runtime.exit, or Isolate.exit on itself.
static IsolateEvent.ExitReason SELF_HALT
          The isolate invoked Runtime.halt or Isolate.halt on itself.
static IsolateEvent.ExitReason UNCAUGHT_EXCEPTION
          The last non-daemon thread exited due to an uncaught exception.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IMPLICIT_EXIT

public static final IsolateEvent.ExitReason IMPLICIT_EXIT
The last non-daemon thread returned from main.


UNCAUGHT_EXCEPTION

public static final IsolateEvent.ExitReason UNCAUGHT_EXCEPTION
The last non-daemon thread exited due to an uncaught exception.

If a daemon thread dies with an uncaught exception, that will not cause the containing isolate to die. Additionally, only if the last non-daemon thread dies with an uncaught exception will this reason be noted. Uncaught exceptions in shutdown hooks do not count, either.


SELF_EXIT

public static final IsolateEvent.ExitReason SELF_EXIT
The isolate invoked System.exit, Runtime.exit, or Isolate.exit on itself.


SELF_HALT

public static final IsolateEvent.ExitReason SELF_HALT
The isolate invoked Runtime.halt or Isolate.halt on itself.


OTHER_EXIT

public static final IsolateEvent.ExitReason OTHER_EXIT
Some other isolate invoked Isolate.exit on the isolate.


OTHER_HALT

public static final IsolateEvent.ExitReason OTHER_HALT
Some other isolate invoked Isolate.halt on the isolate.