【问题标题】:Handling multiple exceptions in java在java中处理多个异常
【发布时间】:2014-04-21 16:03:35
【问题描述】:

我的abandon() 可能会抛出AbandonException

在处理异常时,如果Vector 中还有一些元素,我必须调用相同的方法。

我应该如何进行?如果我想不通,最好的解决方案是什么?

   if (i + 1 < lc.size()) {
    try {
        lc.get(i + 1).abondon();
    }
    catch (AbandonException e1) {
lc.get(i+2).abandon();}}

【问题讨论】:

  • 我不确定你的意思是调用相同的方法,但也许你正在寻找即使没有错误也将始终执行的finally 块?
  • 好吧,我的代码在另一个放弃() 的 catch 块中调用 abondon()。

标签: java exception try-catch-finally multi-catch


【解决方案1】:

以下是一些伪代码:

List errorIndexList = new ArrayList();

for(...) {
    if (i + 1 < lc.size()) {
        try {
            lc.get(i + 1).abondon();
        } catch (AbandonException e1) {
            errorIndexList.add(i+1);
            // do some error handle work ..
            // print error log/info if need,
            continue; // this is optional, in case it's the last statement,
        }
    }
}

// use errorIndexList to handle your errors, if need,

【讨论】:

    【解决方案2】:

    你可以在这里使用finally

    try {
          lc.get(i + 1).abondon();
    }
    catch (AbandonException e1) {
    
    } finally {
       your code
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多