模块  jdk.jdi
软件包  com.sun.jdi

Class ClassNotLoadedException

  • 实现的所有接口
    Serializable

    public class ClassNotLoadedException
    extends 异常
    抛出以指示尚未通过适当的类加载器加载所请求的类。

    由于许多VM执行了惰性类链接,因此在加载关联类之前,可以在程序中看到字段或变量。 在加载类之前,所有可用的都是签名字符串。 如果尝试从JDI设置此类字段或变量的值,则无法执行相应的类型检查,因为尚未加载目标类。 对于数组元素的元素类也是如此。

    在这种情况下,不建议通过动态尝试类加载来解决此问题。 让调试器加载一个类而不是等待它加载正常的事件过程有两个问题。

    • 无法保证运行适当的类加载器不会在加载类时导致死锁。 类加载器可以包含任意Javaâ“编程语言代码,类加载方法通常是同步的。 当线程被挂起时,调试器完成的大部分工作都会发生。 如果另一个应用程序线程在同一个类加载器中挂起,则很可能出现死锁。
    • 更改正常加载类的顺序可能会掩盖或揭示应用程序中的错误。 一个不引人注意的调试器应该努力保持被调试的应用程序的行为不变。
    为避免这些潜在问题,抛出此异常。

    请注意,在相关类对封闭类的类加载器可见之前,将抛出此异常。 (即,包围类的类加载器必须是一个发起类加载器所讨论的类。)的更多细节请参阅The Java™ Virtual Machine Specification。

    从以下版本开始:
    1.3
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • ClassNotLoadedException

        public ClassNotLoadedException​(String className)
      • ClassNotLoadedException

        public ClassNotLoadedException​(String className,
                                       String message)
    • 方法详细信息

      • className

        public String className()