2

我在获得连接时调试java程序时遇到问题,但程序成功执行并获得所需的输出。

下面是我获取连接对象的代码。

public class CRMConnection
{
private static String url = "jdbc:oracle:thin:@hostname:1521:dbname";
private static String username = "crmuser";
private static String password = "crmuser";
public static Connection getConnection()
{
Connection conn=null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url,username,password);
}
catch(SQLException e)
{
    System.out.println("exception1:"+e)
}
catch(ClassNotFoundException e)
{
    System.out.println("exception2:"+e)
}
return conn;
}

下面我从另一个类调用 getConnection() 方法。

Connection conn = CRMConnection.getConnection();

如果我在 Eclipse 中以正常模式运行程序,我不会遇到任何问题。我得到了想要的输出。但是如果我在调试模式下运行程序,我在执行 CRMConnection.getConnection() 时会低于方法调用堆栈,但是如果我继续按 F8,程序会成功执行。

我不知道为什么 eclipse 在执行 getConnection() 时显示在调用堆栈下方。是我的代码有问题还是 Eclipse 调试问题?

我在方法调用堆栈中进入 Eclipse 调试窗口。

FileInputStream.open(String) line: not available [native method]
OracleDriver.<clinit>() line: 313
Class<T>.forName0(String,boolean,ClassLoader) line: not available
CRMConnection.getConnection() line : 19

需要java高手指教。

4

0 回答 0