Tôi gặp lỗi này khi cố gắng biên dịch mã bên dưới. Tôi muốn biết tôi đã làm gì sai.Ngoại lệ không được báo cáo java.sql.SQLException; phải bị bắt hoặc tuyên bố bị ném?
unreported exception java.sql.SQLException; must be caught or declared to be thrown Class.forName(myDriver); ^
private void setupInfo() {
Driver driver = new org.gjt.mm.mysql.Driver();
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
String problemFeatureSpecTableName = "ProblemFeatureSpec";
String solutionFeatureSpectTableName = "SolutionFeatureSpec";
String classTableName = "Class";
String extraDataTableName = "ExtraData";
String casebaseTablename = "CaseBase";
String problemTableName = "Problem";
String solutionTableName = "Solution";
String inactiveContextsTableName = "InactiveContext";
String constantsTableName = "Constants";
dbInfo = new DBInfo(new JDBCDriverInfo(driverName, url, username, password),constantsTableName);
problemSpecInfo = new FeatureSpecRDBInfo(problemFeatureSpecTableName, classTableName, extraDataTableName);
solutionSpecInfo = new FeatureSpecRDBInfo(solutionFeatureSpectTableName, classTableName, extraDataTableName);
rdbCasebaseInfo = new RDBCaseBaseInfo(casebaseTablename, solutionTableName, problemTableName, inactiveContextsTableName);
}
Bạn đang đọc các hướng dẫn/ví dụ về JDBC của MySQL đã lỗi thời. [Trình điều khiển MM] (http://mmmysql.sourceforge.net/old-index.html) đã được MySQL tiếp quản hơn 8 năm trước và kể từ đó được gọi là [Connector/J] (http: // dev. mysql.com/downloads/connector/j/) với 'com.mysql.jdbc.Driver'. Tên lớp trình điều khiển MM chỉ được giữ lại cho khả năng tương thích ngược, nhưng bạn thực sự nên sử dụng 'com.mysql.jdbc.Driver'. Lỗi biên dịch của bạn không phù hợp với mã nguồn đã đăng. Bạn không sử dụng 'Class # forName()' ở bất cứ đâu trong nguồn. Thậm chí nhiều hơn, nó không ném 'SQLException' chút nào. – BalusC