【发布时间】:2020-11-12 17:54:59
【问题描述】:
我的用例要求我检查 DBConnections 以确保我们拥有正确的 url。
假设我们有 10 个 Oracle DB 的列表,并且 DB4 的连接 url 格式错误。我们想捕获 db4 连接失败但仍想检查列表中所有剩余的 DB。
allDBs = {DB1{username, url, pass}, DB2{username, url, pass}, ....DB10{username, url, pass}}
DBList <DbDetails> allDBs = new DBList <DbDetails>();
try{
for(DbDetails db : allDBs)
{
dbUrl = db.getDbUrl();
dbUsername = db.getUserName();
dbPassword = db.getPass();
DbDetails dbDetails = new DbDetails(dbUrl, dbUsername, dbPassword);
dataSource = dbConfig.setOrclDataSource(dbDetails);
conn = dataSource.getConnection();
String selectQuery = "select 1 from dual";
SqlFunction sf = new SqlFunction(dataSource, selectQuery);
sf.compile()
}
}
catch(SQLException se){
connFailDBList.add(dbDetail);
LOG.error(se.getMessage());
}
由于 DB4 url 格式错误。通过上述逻辑,SQLException 在 DB4 中被捕获。但是如何恢复对列表中剩余数据库的检查?
【问题讨论】:
标签: java exception try-catch sqlexception