简介

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);
}