简介
JavaScript 中的错误处理使用 try/catch
关键字
入门
try {
let result = 10 / 0;
console.log(result);
throw new Error("自定义错误");
} catch (error) {
console.error("捕获错误:", error.message);
} finally {
console.log("无论是否有错误,都会执行");
}
try
代码块包含可能发生错误的代码catch
代码块捕获错误并处理finally
(可选)无论是否发生错误,都会执行
内置错误类型
错误类型 | 触发场景 |
---|---|
Error |
通用错误基类 |
SyntaxError |
代码语法错误(eval() ) |
ReferenceError |
访问未定义的变量 |
TypeError |
操作 null / undefined ,或使用错误类型 |
RangeError |
数值超出允许范围(数组长度、递归) |
URIError |
encodeURI() / decodeURI() 解析失败 |
EvalError |
eval() 相关错误(已不常用) |
自定义错误
class CustomError extends Error {
constructor(message) {
super(message);
this.name = "CustomError";
}
}
try {
throw new CustomError("这是一个自定义错误");
} catch (error) {
console.error(error.name + ":", error.message);
}