在此 JavaScript 代码中 f.init()
控制程序的整个流程:
var f = function() {
return {
init: function(var1) {
try {
f.f1(1)
} catch (e) {
alert(e);
}
try {
f.f2(1)
} catch (e) {
alert(e);
}
// ...
// more try-catch blocks
// ...
},
f1: function() {
throw Error('f1 called');
},
f2: function() {
throw Error('f2 called');
}
};
}();
f.init();
如何将所有异常管理集中到一个 try-catch block 中?像这样的事情:
var f = function() {
return {
init: function(var1) {
f.f1(1) // this cut the control flow if thrown some error
f.f2(1) // so this is not called
},
f1: function() {
throw Error('f1 called');
},
f2: function() {
throw Error('f2 called');
}
};
}();
try {
f.init();
} catch (e) {
alert(e);
}
前面的代码在抛出一些错误后切断了流程。
最佳答案
你不能。一旦抛出错误,程序流程就会中断。
关于javascript - 只用一个try-catch block 就可以捕获多个异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316113/