错误

错误 属于 JavaScript

19 个练习

关于 错误

当程序或一段代码中出现错误或意外情况时,把错误报告出来是很有用的。

错误是 JavaScript 对象。

这个对象的主要属性是 message:

const error = new Error('Oops, something went wrong');

console.log(error.message);
// => "Oops, something went wrong"

使用 throw 语法,你可以抛出一个 Error。

throw new Error('Oops');

当错误被抛出时,当前的执行会停止,并在调用栈的第一个 catch 块中继续。

try {
  throw new Error('Oops');
} catch (error) {
  console.log(error.message);
  // => "Oops"
}

与 JavaScript 中的任何类一样,子类可以使用 extends 关键字继承 Error,从而创建自定义错误。 instanceof 语法会检查捕获到的错误是否是 Error 某个特定子类的实例。

class CustomError extends Error {}

try {
  // ... Code that may throw an error
} catch (error) {
  if (error instanceof CustomError) {
    console.log('The error thrown is an instance of the CustomError');
  }
}

错误类型

除了 Error 对象之外,还存在其他内置的错误对象。你可以在这里了解更多。

自定义错误

你也可以创建一个继承自某个内置错误类型的类,来定义自己的自定义错误类型

class MyCustomError extends Error {}

抛出非错误值

虽然 throw 语法通常用来抛出 Error 对象,但 JavaScript 很灵活,允许你抛出 string、null 或任何原始类型。

错误堆栈追踪

虽然这在 JavaScript 中并非标准做法,但大多数 JavaScript 环境都在 Error 对象上实现了 stack 属性,让你可以获取所抛出错误的堆栈追踪。

通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 错误