如何使用通用的try-catch来处理Javascript中的每个给定函数?
这些是我的一些函数,我需要编写一个公共函数来查看函数是否正常运行。我尝试了try/catch方法。但我只能对每个函数单独执行此操作。
function fisrt(){
console.log("First");
};
function second(){
console.log("Second");
}
function third(){
console.log("Third");
}
fisrt();
second();
third();
我在try-catch中编写每个函数。是否有一种方法可以为所有函数编写通用的try-catch。
try {
(function first() {
console.log("ffgdf")
})();
}catch (e) {
console.log( "won't work" );
}
解决方案
您可以定义包装函数,该函数将您需要的函数作为参数,并将其包装在Try Catch中。
function wrapper(fn) {
try {
fn();
} catch(error) {
console.error(error);
}
}
然后给出您的原始函数:
function first() {
console.log("First");
};
function second() {
console.log("Second");
}
function third() {
console.log("Third");
}
您可以使用包装器函数测试每一个:
wrapper(first);
wrapper(second);
wrapper(third);
无需向每个函数添加try catch。
相关文章