gpt4 book ai didi

Java Class.forName 方法 java.lang.ClassNotFoundException;

转载 作者:行者123 更新时间:2023-12-02 13:25:13 26 4
gpt4 key购买 nike

我发现了人们遇到的其他线程并解决了这个错误;但是,所有这些都没有使用完全限定的类路径。我似乎无法让 Class.forName 工作,并且我正在使用完全限定的路径。

我已经测试了从 CLI 进行编译并使用 ItelliJ Idea。两者都因相同的错误而失败。

代码(在测试目录中):

package test;
public class Test {
public static void main(String[] args) {
Class cls = Class.forName("java.util.ArrayList");
}
}

错误:

java.lang.ClassNotFoundException; must be caught or declared to be thrown

上面的例子不起作用。提前致谢!

最佳答案

您收到此消息是因为 ClassNotFoundException 是一个已检查的异常。这意味着这个异常不能被忽略。您需要用 try/catch 构造包围它并提供异常处理,或者向您的方法添加 throws 子句并在被调用方中处理它。

编辑:请注意,Class.forName() 构造在编译期间不会解析。当您编写这样的语句时,您是在告诉 JVM 在程序执行期间查找可能尚未加载的类。 Java 库是动态链接而不是静态链接,这意味着它们的代码不会合并到您的程序代码中,仅在请求时才加载。这就是它抛出 ClassNotFoundException 的原因。

关于Java Class.forName 方法 java.lang.ClassNotFoundException;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22433096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com