hey alle, ich bin neu zu Java und mich gefragt, ob ich eine Methode zurückzukehren, um ein DatenbankobjektIn Java, wie setze ich einen Rückgabetyp, wenn eine Ausnahme auftritt?
wie
import java.sql.*;
public class DbConn {
public Connection getConn() {
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
if(System.getenv("MY_ENVIRONMENT") == "development") {
String hostname = "localhost";
String username = "root";
String password = "root";
}
conn = DriverManager.getConnection("jdbc:mysql:///mydb", username, password);
return conn;
} catch(Exception e) {
throw new Exception(e.getMessage());
}
}
}
wenn die Verbindung fehlschlägt definieren, wenn ich versuche, es zu schaffen, was soll ich zurückkehren ? Eclipse sagt mir, dass ich ein Connection-Objekt zurückgeben muss, aber wenn es fehlschlägt, bin ich mir nicht sicher, was ich tun soll.
danke!
AKTUALISIERT CODE AUSNAHME BUBBLE zu vermieten:
public class DbConn {
public Connection getConn() throws SQLException {
Connection conn;
String hostname = "localhost";
String username = "root";
String password = "root";
Class.forName("com.mysql.jdbc.Driver").newInstance();
if(System.getenv("MY_ENVIRONMENT") != "development") {
hostname = "localhost";
username = "produser";
password = "prodpass";
}
conn = DriverManager.getConnection("jdbc:mysql:///mydb", username, password);
return conn;
}
}
Ehrlich gesagt, ich bin erstaunt. Eclipse ist normalerweise intelligent genug, um zu verstehen, dass Sie nichts zurückgeben müssen, wenn Sie einmal etwas geworfen haben. Aber um es glücklich zu machen, setze ein "Return null"; nach dem Ende des Fangblocks. –
@Paul: eigentlich ist Eclipse nur unglücklich über "Unhandled Exception Typ Ausnahme" innerhalb der Catch (fehlende Würfe). –