以下のコードをコンパイルしようとしているときにこのエラーが発生しました。私は何が間違っているのかを知りたい。報告されていない例外java.sql.SQLException;捕まえられなければならない、または投げられると宣言しなければならない?
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);
}
あなたは古いJDBC JDBCチュートリアル/サンプルを読んでいます。 [MMドライバ](http://mmmysql.sourceforge.net/old-index.html)は、8年以上前にMySQLによって引き継がれており、[Connector/J](http:// dev。 mysql.com/downloads/connector/j/)を 'com.mysql.jdbc.Driver'と置き換えてください。 MMドライバクラス名は下位互換性のためにのみ保持されますが、実際には 'com.mysql.jdbc.Driver'を使用してください。あなたのコンパイルエラーは投稿されたソースコードと一致しません。あなたは 'Class#forName()'をソースのどこにも使用していません。さらに、 'SQLException'はまったく投げません。 – BalusC