hej wszystkim, jestem nowy w Javie i zastanawiałem się, czy mogę zdefiniować sposób, aby powrócić obiektu bazy danychW języku Java, w jaki sposób ustawić typ zwracany, jeśli wystąpi wyjątek?
podoba
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());
}
}
}
jeśli połączenie nie powiedzie się, gdy próbuję go utworzyć co należy zwrócić ? eclipse mówi mi, że muszę zwrócić obiekt Connection, ale jeśli się nie uda, nie jestem pewien, co robić.
dziękuję!
uaktualnionych POZWALAĆ EXCEPTION BUBBLE:
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;
}
}
Szczerze mówiąc, jestem zdumiony. Eclipse jest zwykle wystarczająco inteligentny, aby zrozumieć, że po rzuceniu czegoś nie trzeba niczego zwracać. Ale aby uszczęśliwić, wstaw "return null;" po zakończeniu bloku catch. –
@Paul: faktycznie Eclipse jest niezadowolony z "Nieobsługiwanego wyjątku typu wyjątkowego" wewnątrz catch (brakujące rzuty). –