我在整数变量上使用array.pop()函数,并期望出现错误。
当前,我收到“TypeError:x.pop不是函数”消息。
我想使用“throw”用我自己的消息覆盖它
我尝试在第一个catch块中使用另一个try-catch,这可以完成工作。但是我想在第一个try块本身中覆盖第一个TypeError
异常。
let x = 3
try {
x.pop();
// I want to override the exception generated due to this line
// with my own error message using throw
}
catch (e) {
try {
throw thisErr("this is my custom error message..")
}
catch (er) {
console.log(er);
}
}
function thisErr(message) {
let moreInfo = message
let name = "My Exception"
return `${name}: "${moreInfo}"`
}
我期待
My Exception: "this is my custom error message.."
最佳答案
使用console.error(er)
。
let x = 3
try {
x.pop();
}
catch (e) {
var er = thisErr("this is my custom error message..");
// log(black) My Exception: "this is my custom error message.."
console.log(er);
// error(red) My Exception: "this is my custom error message.."
console.error(er);
// error(red) Uncaught My Exception: "this is my custom error message.."
throw er;
}
function thisErr(message) {
let moreInfo = message
let name = "My Exception"
return `${name}: "${moreInfo}"`
}
关于javascript - 如何覆盖内置异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55529110/