gpt4 book ai didi

java - 调用函数 getConnection() 时线程 "main"java.lang.StackOverflowError 中出现异常

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

我在编译项目时遇到错误-

Exception in thread "main" java.lang.StackOverflowError
at sun.reflect.Reflection.getCallerClass(Native Method)
at java.lang.ClassLoader.getCallerClassLoader(Unknown Source)
at java.lang.Class.forName(Unknown Source)
at testpackage.DriverManager.getConnection(DriverManager.java:14)
at testpackage.DriverManager.getConnection(DriverManager.java:20)
at testpackage.DriverManager.getConnection(DriverManager.java:20)

这是我的第一个文件代码-

package testpackage;

import java.sql.*;

import javax.swing.JOptionPane;

class DriverManager {
static Connection dbConnection = null;

public static Connection getConnection(String String_url, String USER, String PASS) throws SQLException
{
try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//JOptionPane.showMessageDialog(null, "driver load successfully");
} catch (ClassNotFoundException e) {
e.printStackTrace();
//JOptionPane.showMessageDialog(null, "driver load failed");
}
dbConnection = DriverManager.getConnection(String_url,USER,PASS);
return dbConnection;
}

}

我在另一个文件中调用了这个方法-

package testpackage;
import java.awt.Rectangle;
import org.openqa.selenium.firefox.FirefoxDriver;
public class testclass {
public static void main (String[] args) throws Exception
{
DriverManager Connection_getConnection = new DriverManager();
Connection_getConnection.getConnection("database string url","username","password");
}
}

注意-我已经使用警报来调试问题并递归地查找函数调用,因为我一个接一个地收到警报。

最佳答案

您的 DriverManager.getConnection() 方法包含调用 DriverManager.getConnection(),其中包含调用 DriverManager.getConnnection(), ...

这是因为您选择以与标准 java.sql.DriverManager.getConnection() 相同的方式命名类和方法。

关于java - 调用函数 getConnection() 时线程 "main"java.lang.StackOverflowError 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21622470/

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