J'ai eu cette erreur en essayant de compiler le code ci-dessous. Je voudrais savoir ce que j'ai mal fait.Exception non signalée java.sql.SQLException; doit être attrapé ou déclaré être jeté?
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);
}
Vous lisez des didacticiels/exemples MySQL JDBC obsolètes. Le [MM driver] (http://mmmysql.sourceforge.net/old-index.html) a été repris par MySQL il y a plus de 8 ans et est désormais connu sous le nom de [Connector/J] (http: // dev. mysql.com/downloads/connector/j/) avec 'com.mysql.jdbc.Driver'. Le nom de classe du pilote MM est uniquement conservé pour une compatibilité ascendante, mais vous devriez vraiment utiliser 'com.mysql.jdbc.Driver'. Votre erreur de compilation ne correspond d'ailleurs pas au code source affiché. Vous n'utilisez pas 'Class # forName()' n'importe où dans la source. Plus encore, il ne lance pas SQLException du tout. – BalusC