有人可以告诉我如何修复我的Test类第8行的错误 我不知道wtf是错的还是如何搜索解决方案
主要课程
package T;
public class Test {
public static void main(String[] args) {
SQL sql = new SQL();
sql.getData();//Error here "Unreported exception Exception; must be caught or declared to be thrown"
}
}
SQL类
package T;
public class SQL {
private Connection connect = null;
public String getData() throws Exception {
String name = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost/vehicles?" + "user=sqluser&password=sqluserpw");
Statement st = connect.createStatement();
ResultSet rs = st.executeQuery("SELECT * from vehicles.test");
if (rs.next()) {
name = rs.getString("word");
}
return name;
}
catch (Exception e) {
throw e;
}
}
}
答案 0 :(得分:1)
SQL类中的方法会抛出异常,而在main方法中,您不会处理该异常。这是一个经过检查的异常,所以你必须对它做些什么。 至少你需要像这样的简单捕捉
public static void main(String[] args) {
SQL sql = new SQL();
try{
sql.getData();//Error here "Unreported exception Exception; must be caught or declared to be thrown"
}catch(Exception e){
e.printStackTrace();
}
}
答案 1 :(得分:0)
由于你的Calling方法抛出了异常,因此需要在Called方法中捕获该异常。所以只需将你的调用放在try catch块中。
答案 2 :(得分:0)
是必要的问号吗?这不是一个错字,你的意思是别的吗? 以下是java中sqlconnections的一些示例,它们看起来与您的有点不同。 How to make SQL connection statements common
答案 3 :(得分:0)
使用try-catch
循环
答案 4 :(得分:0)
public String getData() throws Exception {
//
}
此处throws Exception
表示此方法可能会抛出Exception
类型的异常,即checked exception
。
因此在调用此方法时必须处理它。意思是使用try/catch
。
This article可能会帮助您了解已检查和未检查的例外情况。