【问题标题】:Continue on error in loop继续循环中的错误
【发布时间】:2008-11-27 12:37:15
【问题描述】:

下面的循环调用了一个执行各种“事情”的过程

如果它应该抛出异常,它也会“引发”它。我想抓住它并忽略它,让循环继续处理数组中的下一个值。

谢谢

WHILE indx IS NOT NULL LOOP

    table_dump_csv(tableList(indx), tableList(indx) || '.csv');

    indx := tableList.NEXT(indx);
END LOOP;

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    一种可能的方法...

       WHILE indx IS NOT NULL LOOP
    
          BEGIN
             table_dump_csv(tableList(indx), tableList(indx) || '.csv');
          EXCEPTION
             WHEN OTHERS THEN
                -- Handle/Ignore the exception as appropriate
          END;
    
    
          indx := tableList.NEXT(indx);
    
       END LOOP;
    

    或者,您可以将过程更改为返回成功/失败代码的函数。

    【讨论】:

    • 此外,如果您想忽略并且没有程序逻辑(例如日志记录),那么您需要添加“NULL;”到异常处理程序以使其编译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    相关资源
    最近更新 更多