gpt4 book ai didi

javascript - 如何判断代码是否在try catch block 下

转载 作者:行者123 更新时间:2023-12-03 08:46:52 24 4
gpt4 key购买 nike

有没有办法知道某些代码是否在try catch块下? (特别是在节点中)

我想做的是这样的(使用变量bungleInTry模拟我在寻找什么)

let acumulateErrors=[];
let bungleInTry=0; // This to be removed, it's to simulate the expected behavior

function assert(cond,msg){
if (!cond){
if (underTryCatch())
throw(Error(msg)); // Somewhere somebody is in control
else
acumulateErrors.push(msg); // I don't want a crash but I have to keep this
}
}

assert(1==2, "1 doesn't equals 2");

bungleInTry++; // (simulating what I am asking)
try{
assert(3==4, "3 doesn't equals 4");

}catch(error){
console.log(error.message);
}
bungleInTry--; // to be removed


console.log(acumulateErrors);

function underTryCatch(){
return bungleInTry;
}

最佳答案

不,无法检测到将捕获抛出的错误,该信息对您的代码不可用。 (可以说,所有错误都会被捕获,即使它们是由Node自己的错误处理程序捕获的,该错误处理程序会将其转储到控制台并终止进程... :-))

关于javascript - 如何判断代码是否在try catch block 下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51772702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com