我有很多函数要么返回一些东西,要么抛出错误。在主函数中,我调用了其中的每一个,并希望返回每个函数返回的值,或者如果第一个函数抛出错误则继续第二个函数。
所以基本上我目前拥有的是:
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
}
但实际上我只想尝试
返回它(即如果它不抛出错误)。我不需要 catch
block 。但是,像 try {}
这样的代码会失败,因为它缺少一个(未使用的)catch {}
block 。
那么,有没有什么方法可以删除那些 catch
block ,同时达到相同的效果?
最佳答案
没有 catch 子句的 try 将其错误发送到下一个更高的 catch 或窗口,如果其中没有定义 catch那个尝试。
如果您没有catch,try 表达式需要一个finally 子句。
try {
// whatever;
} finally {
// always runs
}
关于javascript - try {} without catch {} 可以在 JavaScript 中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764107/