Ich erstelle eine einfache HelloWorld-Anwendung in NetBeans 8.1. Es muss einfach funktionieren: Sobald es kompiliert und ausgeführt wird, lädt es alle Daten einer Tabelle acc in den Datenbankkonten mit MySQL.So beheben Sie "nicht gemeldete Ausnahme InstantiierungException; muss abgefangen oder als geworfen erklärt werden"
Ich habe die JAR-Datei Connector/J in meine Projektbibliothek aufgenommen und eine Verbindung zu MySQL hergestellt, aber die Klasse.forName (com.mysql.jdbc.Driver) .newInstance(); Zeile in Code-Stück zeigt "nicht gemeldete Ausnahme InstantiationException; muss gefangen oder deklariert werden geworfen werden" und ich weiß genau nicht, was zu tun ist. Ich stecke hier irgendwie fest.
Hier ist mein Code
package learning_jdbc;
import java.sql.*;
public class Hello {
Connection connection;
private void displaySQLErrors(SQLException e) {
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
System.out.println("VendorError: " + e.getErrorCode());
}
public Hello() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (ClassNotFoundException e) {
System.out.println("Class not found.");
}
}
public void connectToDB() {
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/accounts","root","thejoker");
} catch(SQLException e) {
displaySQLErrors(e);
}
}
public void executeSQL() {
try (Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM acc")) {
while (rs.next()) {
System.out.println(rs.getString(1));
}
connection.close();
} catch(SQLException e) {
displaySQLErrors(e);
}
}
public static void main(String[] args) {
Hello hello = new Hello();
hello.connectToDB();
hello.executeSQL();
}
}
Was denken Sie, dass Fehlermeldung bedeutet? Könnten Sie es anders formulieren? Hier ist mein Versuch: "Sie müssen InstantiationException abfangen. Oder Sie müssen deklarieren, dass es ausgelöst werden kann." Lesen Sie http://docs.oracle.com/javase/tutorial/essential/exceptions/. Es ist wichtig, dass Sie verstehen, was diese Nachricht bedeutet und wie Ausnahmen funktionieren. Beachten Sie jedoch, dass diese Codezeile nicht erforderlich sein sollte. –