我有许多函数,它们要么返回某些内容,要么抛出错误。在主函数中,我调用其中的每一个函数,并希望返回每个函数返回的值,或者如果第一个函数抛出错误,则继续执行第二个函数。
所以基本上我目前拥有的是:
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 {}
block.
I put jsFiddle 上的示例 http://jsfiddle.net/7WmXF/.
那么,有什么办法可以让这些catch
移除方块同时达到相同的效果?
A try没有catch子句将其错误发送给下一个更高的子句catch或窗口(如果该 try 中没有定义 catch)。
如果您没有catch,一个 try 表达式需要一个finally clause.
try {
// whatever;
} finally {
// always runs
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)