hey all, Tôi mới đến Java và đã tự hỏi nếu tôi xác định một phương pháp để trả về một đối tượng cơ sở dữ liệuTrong Java, làm cách nào để đặt loại trả về nếu ngoại lệ xảy ra?
như
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());
}
}
}
nếu kết nối không thành công khi tôi cố gắng tạo ra nó những gì tôi nên trở lại ? eclipse đang nói với tôi rằng tôi phải trả về một đối tượng Connection nhưng nếu nó không thành công thì tôi không chắc phải làm gì.
cảm ơn!
MÃ CẬP NHẬT ĐẾN LET 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;
}
}
Thẳng thắn mà nói, tôi ngạc nhiên. Eclipse thường đủ thông minh để hiểu rằng một khi bạn ném thứ gì đó, bạn không cần phải trả lại bất cứ thứ gì. Nhưng để làm cho nó hạnh phúc, hãy đặt một "trả về null;" sau khi kết thúc khối đánh bắt. –
@Paul: thực sự Eclipse không hài lòng về "Ngoại lệ loại trừ ngoại lệ" bên trong phần đánh bắt (thiếu số lần ném). –