如何捕获com.microsoft.sqlserver.jdbc.SQLServerException:查询已超时

时间:2019-01-25 08:42:23

标签: java sql-server exception try-catch timeoutexception

我在MS-SQL中有一些存储过程,因此我想做一些代码以防超时问题。我已经做了几件事要分享:

App1

我的问题是,我只想在

的情况下编写我的代码
catch (Exception e) {
boolean bool = e.getClass().equals(SQLServerException.class);
  if(bool){
  //-- My piece of code logic
 }
}

如何捕获特定的超时异常?

2 个答案:

答案 0 :(得分:0)

您可以使用 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

答案 1 :(得分:0)

只是有一个解决了我问题的解决方案:

catch(Exception e){
 boolean bool = e.getMessage().contains("The query has timed out");
 if(bool){
   //-- My piece of code logic
  }
}