ANZ*_*NZR 4 javascript methods metaprogramming function try-catch
这些是我的一些函数,我需要编写一个通用函数来查看函数运行是否没有错误。我尝试使用 try/catch 方法。但我只能对每个函数单独执行此操作。
function fisrt(){
console.log("First");
};
function second(){
console.log("Second");
}
function third(){
console.log("Third");
}
fisrt();
second();
third();
Run Code Online (Sandbox Code Playgroud)
我在 try-catch 中编写每个函数。有没有一种方法可以为所有函数编写一个通用的 try-catch。
try {
(function first() {
console.log("ffgdf")
})();
}catch (e) {
console.log( "won't work" );
}
Run Code Online (Sandbox Code Playgroud)
您可以定义一个包装函数,它将所需的函数作为参数,并将其包装在 try catch 中。
function wrapper(fn) {
try {
fn();
} catch(error) {
console.error(error);
}
}
Run Code Online (Sandbox Code Playgroud)
然后给出你原来的函数:
function first() {
console.log("First");
};
function second() {
console.log("Second");
}
function third() {
console.log("Third");
}
Run Code Online (Sandbox Code Playgroud)
您可以使用包装函数来测试每一项:
wrapper(first);
wrapper(second);
wrapper(third);
Run Code Online (Sandbox Code Playgroud)
无需为每个函数添加 try catch。