当我尝试用Java代码定义SQLServer数据库的驱动程序时,出现ClassNotFoundException。
任何人都可以澄清这可能是为什么,我见过类似的问题,但他们的答案似乎都无效。
谢谢。
答案 0 :(得分:1)
那是编译错误。
调用Class.forName()
时,该方法可能会抛出已检查的异常ClassNotFoundException
。由于这是一个检查异常,因此您的代码必须在当前方法中处理它,或者在方法的throws
子句中声明它。
我建议您阅读exceptions and exception handling上的Java教程课程,或将其标记为重复项的问题解答。
请注意,如果在运行应用程序时实际发生此异常,则意味着Class.forName
无法加载您命名的JDBC驱动程序类。这通常意味着包含驱动程序类的JAR不在运行时类路径上。除非您的应用程序可以完全不与数据库进行对话(!)才能继续进行,否则这是一个例外,它将无法从中恢复。
答案 1 :(得分:0)
因此基本上,屏幕截图显示您必须抓住ClassNotFoundException
:
try {
Class.forName("...");
} catch (ClassNotFoundException e) {
// log exception here
}
或将其重新放入您的方法签名中
void doSmth() throws ClassNotFoundexception {
...
Class.forName("...");
...
}