我在获得连接时调试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高手指教。