如何使用通用的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。

相关文章