我有许多函数要么返回某些东西,要么抛出错误。在主函数中,我调用了其中的每一个,并希望返回每个函数返回的值,或者如果第一个函数抛出错误则继续第二个函数。
所以基本上我目前拥有的是:
function testAll() {
try { return func1(); } catch(e) {}
try { return func2(); } catch(e) {} // If func1 throws error, try func2
try { return func3(); } catch(e) {} // If func2 throws error, try func3
}
但实际上我只想 try
返回它(即如果它不抛出错误)。我不需要 catch
块。但是,像 try {}
这样的代码会失败,因为它缺少一个(未使用的) catch {}
块。
那么,有没有办法在达到相同效果的同时删除那些 catch
块?
原文由 pimvdb 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,你必须保留它们。
这实际上是有道理的,因为根本不应该默默地忽略错误。