gpt4 book ai didi

java - 如何知道SQLException是由于数据库连接失败引起的

转载 作者:太空宇宙 更新时间:2023-11-04 14:52:33 25 4
gpt4 key购买 nike

在我的 java 应用程序中,由于数据库连接失败,日志文件中有大量 SQLException 跟踪。每 5 秒后尝试一次。所以我必须知道 SQLException 进入日志要么是由于数据库连接失败,要么是由于 sql 查询中发生了一些错误。这样,如果中间发生数据库连接失败并尝试记录三到四次以上,那么我可以将其限制为在1分钟后写入。记录方法如下

public static synchronized void log( Exception e, boolean forcePrint)      {         if(sqlExceptionLogTime!=null && e instanceof SQLException &&((new Date()).getTime()-sqlExceptionLogTime.getTime())<60000){        // do nothing             }else if ( (forcePrint || debugFlag) && (logStream != null))          {             e.printStackTrace(logStream);             logStream.flush();             logcount++;             if(e instanceof SQLException){                 sqlExceptionLogTime = new Date();             }        }     }

在此sqlExceptionLogTime是一个静态日期类型变量

最佳答案

您可以使用错误代码并检查其是否存在失败情况,如下所示

Exception e;
int errorCode = e.getErrorCode();
if(errorCode==4005)
{
//do whatever you want to do for failed connection
}

关于java - 如何知道SQLException是由于数据库连接失败引起的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23606908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com