Использовать общий try-catch для каждой функции в Javascript? - PullRequest
0 голосов
/ 03 июля 2018

Это некоторые из моих функций, мне нужно написать общую функцию, чтобы увидеть, работают ли функции без ошибок. Я пытался с методом 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" );
    }

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете определить функцию-обертку, которая принимает желаемую функцию в качестве параметра и упаковывает ее в попытку try.

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 к каждой функции.

...