[英]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.