[英]function return resultset, get in another class - JAVA
我是Java新手。 我正在做的事情會產生錯誤,請讓我知道為什么我要使用此函數dispatchUncaughtException 。 我做對了嗎? 如果不是這樣,怎么可能呢?
這是dataCollection類
public class dataCollection {
private ResultSet my_rs1 = null;
public ResultSet mydata()
{
try
{
String get_data_query = "SELECT * FROM my_table ";
my_rs1 = cn.stmt.executeQuery(aggregator_data_query);
} catch(SQLException SQLex)
{
System.out.println("SQL Error: " + SQLex.getMessage());
}
return my_rs1;
}
}
這是CallingClass //,我們在其中調用ResultSet
public class callingClass
{
dataCollection dc = new dataCollection;
private ResultSet my_call_data = dc.mydata();
while(my_call_data.next())
{
//Code Here
}
}
編輯
Exception in thread "Thread-2" java.lang.NullPointerException
at sms_sender.dataCollection.aggregator_data(dataCollection.java:29)
at sms_sender.threadClass.run(threadClass.java:27)
更正您的參數:
String get_data_query = "SELECT * FROM my_table";
my_rs1 = cn.stmt.executeQuery(get_data_query);
編輯:步驟2 =>檢查您的數據庫連接是否正常工作。 我認為您的stmt為空或不正確。
代碼應該在Java中的函數或塊中。
public class callingClass
{
dataCollection dc = new dataCollection;
private ResultSet my_call_data;
public void showData(){
my_call_data = dc.mydata();
while(my_call_data.next()){
//Code Here
}
}
}
發生的情況是您沒有捕獲到異常,因此Thread.UncaughtExceptionHandler將嘗試轉發此異常。
首先嘗試捕獲異常並為我們提供stacktrace:
catch (Exception e) {
e.printStackTrace(); // if you are not using a logger like log4j just print it.
}
然后,我建議您閱讀有關異常的更多信息
最后,通知類名稱應以大寫字母開頭,請參閱命名約定 。
好書:)
PS:我沒有注意到您的代碼不在方法/函數中,但是我認為這是一個不好的編輯,因為該類甚至無法編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.