java.lang.isolate
Class IsolateStartupException

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--java.lang.isolate.IsolateStartupException
All Implemented Interfaces:
Serializable

public class IsolateStartupException
extends Exception

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 constructor call or 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 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 chained (for example, the exception type may be available in the creator). However, the information about the remote exception is available from the getRemoteName(), getRemoteMessage(), getRemoteStackTrace(), and printRemoteStackTrace() 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.

Since:
1.5
See Also:
Isolate.Isolate(java.lang.String, java.lang.String[], java.util.prefs.TransientPreferences, java.lang.isolate.IsolateStreamBindings), Isolate.start(java.lang.isolate.Link[]), Serialized Form

Constructor Summary
IsolateStartupException()
          Constructs an IsolateStartupException with no specified detail message and null remote exception information.
IsolateStartupException(String detail)
          Constructs an IsolateStartupException with specified detail message and null remote exception information.
IsolateStartupException(String detail, String remoteName, String remoteMessage, StackTraceElement[] trace)
          Constructs an IsolateStartupException with specified detail message and specified information on the remote exception.
 
Method Summary
 String getRemoteMessage()
          Returns the detail message string for the remote exception (which may be null even if a remote exception occured).
 String getRemoteName()
          Returns either the name of the exception type of the remote exception or null if there was no reportable remote Java exception.
 StackTraceElement[] getRemoteStackTrace()
          Returns an array of StackTraceElements representing the stack trace in the remote isolate.
 void printRemoteStackTrace()
          Prints the remote exception name, message, and stack trace, like Throwable.printStackTrace() does for the local exception.
 void printRemoteStackTrace(PrintStream ps)
          Prints the remote exception like printRemoteStackTrace() to the given PrintStream.
 void printRemoteStackTrace(PrintWriter pw)
          Prints the remote exception like printRemoteStackTrace() to the given PrintWriter.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IsolateStartupException

public IsolateStartupException()
Constructs an IsolateStartupException with no specified detail message and null remote exception information.


IsolateStartupException

public IsolateStartupException(String detail)
Constructs an IsolateStartupException with specified detail message and null remote exception information.


IsolateStartupException

public IsolateStartupException(String detail,
                               String remoteName,
                               String remoteMessage,
                               StackTraceElement[] trace)
Constructs an IsolateStartupException with specified detail message and specified information on the remote exception.

Method Detail

getRemoteName

public String getRemoteName()
Returns either the name of the exception type of the remote exception or null if there was no reportable remote Java exception.

Returns:
the name of the exception type of the remote exception

getRemoteMessage

public String getRemoteMessage()
Returns the detail message string for the remote exception (which may be null even if a remote exception occured).

Returns:
the detail message string for the remote exception.
See Also:
getRemoteName()

getRemoteStackTrace

public StackTraceElement[] getRemoteStackTrace()
Returns an array of StackTraceElements representing the stack trace in the remote isolate. The returned stack trace has the same structure and definition as one returned from Throwable.getStackTrace. Will return null if there was no reportable Java exception in the new isolate.

Returns:
an array of stack trace elements representing the stack trace pertaining to the remote exception

printRemoteStackTrace

public void printRemoteStackTrace()
Prints the remote exception name, message, and stack trace, like Throwable.printStackTrace() does for the local exception. If no exception information is available, nothing will be printed.


printRemoteStackTrace

public void printRemoteStackTrace(PrintStream ps)
Prints the remote exception like printRemoteStackTrace() to the given PrintStream. If no exception information is available, nothing will be printed.


printRemoteStackTrace

public void printRemoteStackTrace(PrintWriter pw)
Prints the remote exception like printRemoteStackTrace() to the given PrintWriter. If no exception information is available, nothing will be printed.