An exception thrown when the implementation is unable to start
execution of a new isolate due to an error or exceptional condition
in the bootstrap code for the new isolate (i.e., before the
application starts). Generally, this exception implies the new
isolate was misconfigured, and the misconfiguration was detected
when the isolate was initializing (either during the {@linkplain
Isolate#Isolate constructor call} or {@link Isolate#start
Isolate.start invocation}). If the underlying misconfiguration resulted in an
exception in the new isolate, the accessors for the remote exception
information will provide the details. If not, those methods will
all return null .
Any errors or exceptions thrown by application code in the new
isolate will be handled by the default {@link
ThreadGroup#uncaughtException ThreadGroup.uncaughtException} and
will not manifest as an IsolateStartupException in the creating
isolate.
Because any nested exception occurred in a remote
isolate, the exception cannot be directly {@linkplain
java.lang.Throwable#initCause chained} (for example, the exception
type may be available in the creator). However, the information
about the remote exception is available from the {@link
#getRemoteName}, {@link #getRemoteMessage} methods.
The detail message in an IsolateStartupException will
be the toString string of the original exception in the
remote isolate, if available. The backtrace associated with an
IsolateStartupException will be from the current thread's
stack. |