Hola a todos, soy nuevo en Java y se preguntaba si se define un método para devolver un objeto de base de datosEn Java, ¿cómo configuro un tipo de devolución si ocurre una excepción?
como
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());
}
}
}
si falla la conexión al intentar crearla lo que debería volver ? eclipse me dice que tengo que devolver un objeto Connection, pero si falla, no estoy seguro de qué hacer.
gracias!
CÓDIGO actualiza para hacerle BURBUJA EXCEPCIÓN:
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, estoy asombrado. Eclipse es normalmente lo suficientemente inteligente como para entender que una vez que arroja algo, no necesita devolver nada. Pero para hacerlo feliz, pon un "retorno nulo"; después del final del bloque de captura. –
@Paul: en realidad, Eclipse solo está descontento con la "Excepción de tipo de excepción no controlada" dentro del catch (throws perdidos). –