我有一个声明,我认为它破坏了我的代码的控制流。该语句是 s.executeBatch();
s
是 java.sql.Statement
的实例。
else if (event.getSource()==btnSave)
{
btnAdd.doClick();
int a[]=s.executeBatch();
System.out.println ("dddddd");
btnRefresh.doClick();
con.commit();
s.clearBatch();
}
如果我在 doClick();
和 System.out.println 中注释此
语句被执行。s.executeBatch();
) 之后的所有内容,则不会执行
这是 Oracle 文档中有关“executeBatch()”的信息:
executeBatch()
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts.
最佳答案
将有问题的语句封装在 try catch block 中并优雅地处理异常。
未处理的异常将使控件返回到调用方法进行异常处理。捕获异常将使您能够控制执行纠正操作,如果符合逻辑,则继续执行其余代码。
将 try/catch 放在有问题的语句 s.executeBatch() 周围,如下所示:
else if (event.getSource()==btnSave)
{
btnAdd.doClick();
int a[];
try {
a=s.executeBatch(); System.out.println ("dddddd");
} catch (Exception e) {
System.out.prointln("Exception happened");
}
btnRefresh.doClick();
con.commit();
s.clearBatch();
}
关于java - Java中如何防止语句破坏控制流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311880/