모든 이봐, 나는 자바에 새로운 그리고 난 내가 반환해야 무엇을 만들려고 할 때 연결이 실패 할 경우Java에서 예외가 발생하면 반환 유형을 어떻게 설정합니까?
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());
}
}
}
같은 데이터베이스 개체를 반환하는 방법을 정의하는 경우 궁금 해서요 ? 이클립스는 Connection 객체를 반환해야한다고 말하고 있지만 실패하면 무엇을 해야할지 잘 모릅니다.
감사합니다.
업데이트 된 코드는 예외 거품을 수 있도록 : 예외가 발생
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;
}
}
을보십시오. 이클립스는 보통 당신이 무언가를 던지면 아무 것도 반환 할 필요가 없다는 것을 충분히 이해할만큼 똑똑하다. 그러나 그것을 행복하게 만들려면 "return null;"을 넣으십시오. catch 블록이 끝난 후 –
@Paul : 실제로 이클립스는 catch (누락 된 스로우) 안에 "처리되지 않은 예외 유형 예외"에 대해서만 불만을 나타냅니다. –