Recibí este error al intentar compilar el siguiente código. Me gustaría saber qué he hecho mal.Excepción no reportada java.sql.SQLException; debe ser atrapado o declarado para ser arrojado?
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);
}
Está leyendo tutoriales/ejemplos de MySQL JDBC obsoletos. El controlador [MM] (http://mmmysql.sourceforge.net/old-index.html) ha sido asumido por MySQL hace más de 8 años y desde entonces se conoce como [Connector/J] (http: // dev. mysql.com/downloads/connector/j/) con 'com.mysql.jdbc.Driver'. El nombre de clase del controlador MM solo se conserva para compatibilidad con versiones anteriores, pero realmente debería usar 'com.mysql.jdbc.Driver'. Por cierto, su error de compilación no coincide con el código fuente publicado. No está utilizando 'Class # forName()' en ninguna parte de la fuente. Aún más, no arroja 'SQLException' en absoluto. – BalusC