您好,我的自定义错误消息显示“未定义”。为什么?我只想要错误消息。有人可以帮忙吗。
function divide() {
let num = 2;
let den = 0;
try{
if (den == 0){
throw new Error("division invalid");
}
return Number(num/den);
} catch(e){
console.log(e.message);
}
}
console.log(divide());
最佳答案
没有显式返回的函数会隐式返回undefined
。您抛出一个错误,然后在 catch
block 中没有返回任何内容。由于您没有返回值,因此它会发送 undefined
。
function divide() {
let num = 2;
let den = 0;
try {
if (den == 0) {
throw new Error("division invalid");
}
return Number(num/den);
} catch(e){
console.log(e.message);
return 'Can\'t divide by 0!';
}
}
console.log(divide());
请注意,在此代码片段中,我在 catch
中返回一个字符串。 return Number(num/den);
行永远不会被调用,因为出现错误。
关于javascript - 打印自定义错误消息时的异常处理中的 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685050/