Java 如何实现IDE';s";“知道”;当对象需要位于try/catch块中时?
有时,当我用Java编写代码时,我会忘记在try/catch块中放入一些代码。Eclipse和IntelliJ Idea都警告我将其放入try-catch块或使函数抛出异常 我的问题是,IDE如何识别我的代码何时需要处于try/catch状态?另外,IDE如何知道应该抛出什么类型的异常? 例如:Java 如何实现IDE';s";“知道”;当对象需要位于try/catch块中时?,java,eclipse,exception,intellij-idea,try-catch,Java,Eclipse,Exception,Intellij Idea,Try Catch,有时,当我用Java编写代码时,我会忘记在try/catch块中放入一些代码。Eclipse和IntelliJ Idea都警告我将其放入try-catch块或使函数抛出异常 我的问题是,IDE如何识别我的代码何时需要处于try/catch状态?另外,IDE如何知道应该抛出什么类型的异常? 例如: // Bad private static void makeConnection(){ Connection con = DriverManager.getConnection("someCo
// Bad
private static void makeConnection(){
Connection con = DriverManager.getConnection("someConnection", "someLogin", "somePassword");
}
// Good
private static void makeConnection() throws SQLException{
Connection con = DriverManager.getConnection("someConnection", "someLogin", "somePassword");
}
// Also Good
private static void makeConnection(){
try {
Connection con = DriverManager.getConnection("someConnection", "someLogin", "somePassword");
}
catch(Exception ex){
System.out.println("Error: " + ex.toString());
}
}
请注意此方法定义中的选中异常:
private static void makeConnection() throws SQLException
如果尝试调用makeConnection()
而不使用try/catch
或向消费方法添加throws
声明,则会收到相同的警告
DriverManager.getConnection()
方法只是具有相同的抛出声明。IDE只是对选中的异常声明做出响应。您认为函数声明中的抛出SQLException
意味着什么?