在我的java应用程序中,由于数据库连接失败,日志文件包含大量SQLException跟踪。每5秒后尝试一次。所以我必须知道SQLException转到log是由于数据库连接失败还是由于sql查询中发生了一些错误。因此,如果数据库连接发生故障,并尝试记录超过3或4次,那么我可以限制在1分钟后写入.Log方法如下
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中是一个静态日期类型变量
答案 0 :(得分:0)
您可以使用错误代码并将其检查为失败状态,如下所示
Exception e;
int errorCode = e.getErrorCode();
if(errorCode==4005)
{
//do whatever you want to do for failed connection
}