Java 我们是否需要在catch块中抛出与使用throws声明的方法签名中已经提到的相同的异常
我的Java应用程序中有一个抛出Java 我们是否需要在catch块中抛出与使用throws声明的方法签名中已经提到的相同的异常,java,exception,throw,throws,Java,Exception,Throw,Throws,我的Java应用程序中有一个抛出SQLException的方法。是否需要在catch块中抛出SQLException,以便将异常抛出到处理异常的调用方法 public void insert(Connection conn) throws SQLException { try { // my code } catch (SQLException s) { throw s; } } 如果您希望自己处理异常,然后将其传递给调用方法,那么是的,
SQLException
的方法。是否需要在catch块中抛出SQLException
,以便将异常抛出到处理异常的调用方法
public void insert(Connection conn) throws SQLException
{
try {
// my code
} catch (SQLException s) {
throw s;
}
}
如果您希望自己处理异常,然后将其传递给调用方法,那么是的,您需要重新抛出它:
public void insert(Connection conn) throws SQLException {
try {
// Your code.
} catch (SQLException s) {
// Handle s.
throw s;
}
}
如果不需要对异常执行任何操作,只想将其传递给调用方法,则可以省略try
-catch
,如果抛出异常,调用方法将接收它:
public void insert(Connection conn) throws SQLException {
// Your code.
}
如果您希望自己处理异常,然后将其传递给调用方法,那么是的,您需要重新抛出它:
public void insert(Connection conn) throws SQLException {
try {
// Your code.
} catch (SQLException s) {
// Handle s.
throw s;
}
}
如果不需要对异常执行任何操作,只想将其传递给调用方法,则可以省略try
-catch
,如果抛出异常,调用方法将接收它:
public void insert(Connection conn) throws SQLException {
// Your code.
}
发生此错误是因为您将代码放在“try catch”块中,如果发生任何异常,catch块句柄将与其一起处理。不发送到调用方法 您可以使用下面的函数向调用方法抛出异常
public void insert(Connection conn) throws SQLException {
//code.
}
发生此错误是因为您将代码放在“try catch”块中,如果发生任何异常,catch块句柄将与其一起处理。不发送到调用方法 您可以使用下面的函数向调用方法抛出异常
public void insert(Connection conn) throws SQLException {
//code.
}
如果在方法的throws子句中声明异常,则可以:
1) 抛出声明类型的异常。
2) 引发声明类型的子类型异常。
3) 接受例外。(不推荐,因为您已在签名中声明)
4) 引发任何其他运行时异常。
现在来看您的示例,最好重新抛出异常,以便调用方方法知道发生了错误并采取适当的操作(例如,如果连接对象上正在运行事务,则回滚该事务)。
如果在方法的throws子句中声明异常,则可以:
1) 抛出声明类型的异常。
2) 引发声明类型的子类型异常。
3) 接受例外。(不推荐,因为您已在签名中声明)
4) 引发任何其他运行时异常。
现在来看您的示例,最好重新抛出异常,以便调用方方法知道发生了错误并采取适当的操作(例如,如果连接对象上正在运行事务,则回滚该事务)。
如果是这样,您就无法捕获它,正如在
throws
中已经提到的那样,如果是这样,您就无法捕获它,正如在throws
中已经提到的那样,我正在调用方法中处理异常。所以在catch块中,我需要重新抛出异常,对吗?只有当您希望调用方法也处理它时。如果没有,则不需要重新抛出它,也可能不需要抛出SQLException
。我在调用方法中处理异常。所以在catch块中,我需要重新抛出异常,对吗?只有当您希望调用方法也处理它时。如果没有,则不需要重新抛出它,也可能不需要抛出SQLException
。