如何从Java的try / catch块中引发异常的那一刻起恢复执行?

锡耶纳

我的用例要求我检查DBConnections以确保我们具有正确的URL。

说我们有10个Oracle数据库的列表,并且DB4的连接URL格式错误。我们想捕获db4连接失败,但仍然要检查列表中所有剩余的DB。

allDBs = {DB1 {用户名,URL,密码},DB2 {用户名,URL,密码},.... DB10 {用户名,URL,密码}}


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网址格式错误。通过上述逻辑,SQLException被捕获到DB4。但是如何恢复列表中剩余DB的检查?

彼得·亚历山德罗夫

只需交换for周期和try-catch

DBList <DbDetails> allDBs = new DBList <DbDetails>();
for(DbDetails db : allDBs){
 try{
   //  checking connectivity here
 }catch(SQLException se){
   connFailDBList.add(dbDetail);
   LOG.error(se.getMessage());
 }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

反应如何从我停止的那一刻起恢复计数器

从调用弹出对话框的那一刻起,直到该对话框对用户可见,如何显示等待光标?

如何连接线程被破坏的那一刻

如何在分层 SVG 出现在视口上的那一刻激活它的动画?

如何在 Android 应用程序中显示的 OneSignal 模态视图中删除,当应用程序打开并且用户在那一刻收到 PN 时?(反应本机)

如何在Try / Catch块中引发异常?

从安装Ubuntu OS的那一刻起,清除通过apt-get手动安装的所有软件包

如何在不引发Java异常的情况下摆脱try / catch块

如何避免Java中的许多try catch块

在引发之前恢复 python try 异常块中的更改

图像加载完成的那一刻

Java的System.exit()如何与try / catch / finally块一起使用?

Java运行代码是否仅在try和catch块中未引发异常的情况下?

Visual Studio 2015在Try Catch块中引发异常

在 try/catch 块捕获异常后如何继续执行代码?

如何引发异常并在catch块中执行其余的业务逻辑?

Java:如何编写try-catch-repeat块?

如何在嵌套的try / except块中重新引发异常?

如何在嵌套的try / except块中重新引发异常?

我如何在try块中引发异常并终止程序

Java Try Catch块

如何在一个“ Try”块中引发同一错误的多个异常

当发生异常时,可以暂停我的try块,执行catch块,然后再次恢复我的try块

try块引发异常,但catch块未捕获异常

如何通过api请求访问Java中的try catch错误?

如何调用在catch块中引发异常的方法?

Java 中的 try catch 结构与 Python 中的 try 相比如何?

Java:如何声明final一个在try-catch块内初始化的变量?

如何在Java中应用用户定义的try catch块