Class ClassNotLoadedException
- All Implemented Interfaces:
Serializable
Due to the lazy class linking performed by many VMs, it is possible for a field or variable to be visible in a program before the associated class is loaded. Until the class is loaded all that is available is a signature string. If an attempt is made to set the value of such a field or variable from JDI, the appropriate type checking cannot be done because the destination class has not been loaded. The same is true for the element class of array elements.
It is not advisable to solve this problem by attempting a class load on the fly in this case. There are two problems in having the debugger load a class instead of waiting for it to load over the normal course of events.
- There can be no guarantee that running the appropriate class loader won't cause a deadlock in loading the class. Class loaders can consist of arbitrary Java programming language code and the class loading methods are usually synchronized. Most of the work done by a debugger happens when threads are suspended. If another application thread is suspended within the same class loader, a deadlock is very possible.
- Changing the order in which classes are normally loaded may either mask or reveal bugs in the application. An unintrusive debugger should strive to leave unchanged the behavior of the application being debugged.
Note that this exception will be thrown until the class in question is visible to the class loader of enclosing class. (That is, the class loader of the enclosing class must be an initiating class loader for the class in question.) See The Java Virtual Machine Specification for more details.
- Since:
- 1.3
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionClassNotLoadedException(String className) ClassNotLoadedException(String className, String message) -
Method Summary
Methods declared in class Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringModifier and TypeMethodDescriptionfinal voidaddSuppressed(Throwable exception) The specified exception is going to be suppressed in order to give priority to this exception (primary exception) and to be appended to the list of suppressed exceptions.Record in the receiver a walkback from the point where this message was sent.getCause()Answers the cause of this Throwable, or null if there is no cause.Answers the extra information message which was provided when the throwable was created.Answers the extra information message which was provided when the throwable was created.Answers an array of StackTraceElement.final Throwable[]Returns an array of exceptions suppressed, typically by the automatically generated code from the try-with-resources statement, in order to give priority to this exception (primary exception).Initialize the cause of the receiver.voidOutputs a printable representation of the receiver's walkback on the System.err stream.voidOutputs a printable representation of the receiver's walkback on the stream specified by the argument.voidOutputs a printable representation of the receiver's walkback on the writer specified by the argument.voidsetStackTrace(StackTraceElement[] trace) Sets the array of StackTraceElements.toString()Answers a string containing a concise, human-readable description of the receiver.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Constructor Details
-
ClassNotLoadedException
-
ClassNotLoadedException
-
-
Method Details
-
className
-