Exception NON-Handling : 忽略没有try catch的异常

Exception NON-Handling : Ignoring exceptions without try catch

这可能是一个愚蠢的问题,因为我真的不习惯使用 javascript。

我有一组指令,想不间断地执行它们,并且不使用 try...catch。例如,让我们考虑一下:

do_stuff_A();
do_stuff_B();
do_stuff_C();
...

如果do_stuff_A()失败,我要执行do_stuff_B()等等,没有中断,没有这样做:

try { do_stuff_A(); }
catch { };
try { do_stuff_A(); }
catch { };
...

因为如果我这样做 :

try {
  do_stuff_A(); // if this fails
  do_stuff_B(); // this won't be executed
  do_stuff_C();
  ...
} catch {
   // Never mind
}

有没有这样的神器:

ignore_exceptions {
  do_stuff_A();
  do_stuff_B();
  do_stuff_C();
  ...
}

感谢您的回答!

虽然它是 bad practice to swallow exceptions,但我认为您有充分的理由。

您可以编写一个包装函数以使其不那么冗长:

function runAndIgnoreExceptions(f) {
 try{
    return f();
 } catch(e){}
}

runAndIgnoreExceptions(do_stuff_A);
runAndIgnoreExceptions(do_stuff_B);
runAndIgnoreExceptions(do_stuff_C);

根据您的用例,您可能更喜欢使用 finally 块。 这样 finally 块总是被执行,但从调用者的角度来看会引发异常。