Ciao a tutti, sono nuovo a Java e chiedevo se mi definisco un metodo per restituire un oggetto di databaseIn Java, come si imposta un tipo di ritorno se si verifica un'eccezione?
come
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());
}
}
}
se la connessione non riesce quando provo a crearla cosa devo tornare ? eclipse mi sta dicendo che devo restituire un oggetto Connection ma se fallisce non sono sicuro di cosa fare.
grazie!
codice aggiornato AFFITTO ECCEZIONE DELLA BOLLA:
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;
}
}
Francamente, sono stupito. Eclipse è normalmente abbastanza intelligente da capire che una volta lanciato qualcosa, non è necessario restituire nulla. Ma per renderlo felice, metti un "return null"; dopo la fine del blocco catch. –
@Paul: in realtà Eclipse non è soddisfatto di "Eccezione tipo eccezione non gestita" all'interno del fermo (mancini). –