如何捕捉com.microsoft.sqlserver.jdbc.SQLServerException:查询已超时
How to catch com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out
我在 MS-SQL 中有一些存储过程,我想在出现超时问题时执行某些代码。我做了一些我想分享的事情:
catch (Exception e) {
boolean bool = e.getClass().equals(SQLServerException.class);
if(bool){
//-- My piece of code logic
}
}
我的问题是,我想在只有
的情况下执行我的代码
com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out
如何捕获特定的超时异常?
可以使用case查看异常中的错误码
catch (SQLException se) {
switch (se.getErrorCode()) {
case 1: doSomething();
break;
case 2: doSomethingElse();
break;
}
}
错误代码列表在这里
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-develop-error-messages
刚刚得到解决我问题的解决方案:
catch(Exception e){
boolean bool = e.getMessage().contains("The query has timed out");
if(bool){
//-- My piece of code logic
}
}
我在 MS-SQL 中有一些存储过程,我想在出现超时问题时执行某些代码。我做了一些我想分享的事情:
catch (Exception e) {
boolean bool = e.getClass().equals(SQLServerException.class);
if(bool){
//-- My piece of code logic
}
}
我的问题是,我想在只有
的情况下执行我的代码 com.microsoft.sqlserver.jdbc.SQLServerException: The query has timed out
如何捕获特定的超时异常?
可以使用case查看异常中的错误码
catch (SQLException se) {
switch (se.getErrorCode()) {
case 1: doSomething();
break;
case 2: doSomethingElse();
break;
}
}
错误代码列表在这里 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-develop-error-messages
刚刚得到解决我问题的解决方案:
catch(Exception e){
boolean bool = e.getMessage().contains("The query has timed out");
if(bool){
//-- My piece of code logic
}
}