我对 Javascript 异常处理感到困惑,我想弄清楚 Javascript 可以捕获哪些错误,或者只能使用 if elses 处理哪些错误 就像下面的情况一样,在第一种情况下,由于 undefined variable ,我最终进入了 catch block ,但在其他情况下,我留在了 try block 中(并且必须使用 if else 来捕获它),尽管两者都是“未定义”
第一:
try {
var x = 90;
var value = x / y;
}
catch (err) {
document.write(err.name + ": " + err.message + "<br/>");
}
第二个:
function add(x, y) {
var resultString = "Hello! The result of your math is: ";
var result = x + y;
// return resultString + result; not returning anything; hence, "undefined" also
}
try {
var addResult = add(2, 3);
document.write(" the result is : " + addResult + "<br/>");
} catch (err) {
document.write(err.name + ": " + err.message + "<br/>");
}
为什么我在第二种情况下也没有陷入 catch block ?
请澄清我的理解。
最佳答案
在第一种情况下,您没有在任何地方定义 y,因此会引发异常,该异常会被 catch block 捕获,但在第二种情况下,您已经定义了 addResult=undefined
并且只是显示值,所以也不异常(exception)
如果您的第一个案例是
try {
var x = 90;
var y = undefined;
var value = x / y;
}
catch (err) {
document.write(err.name + ": " + err.message + "<br/>");
}
那么第一种情况也不异常(exception)。
希望你明白了:)
关于javascript - Javascript异常处理查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162471/