JavaScript 中有没有办法通过错误名称来处理错误?

Is there a way in JavaScript to handle errors by the error name?

我还在学习JavaScript。我也知道 Python 并且在 Python 中我们可以处理特定的错误,例如在 Python 中处理 TypeErrors,我们可以简单地使用 except TypeError: 并处理它。我想知道 JavaScript 中是否有办法处理

这样的错误
Uncaught SyntaxError: Unexpected number

这样。谢谢。

我不是 javascript 专家,但到目前为止我处理错误的方式如下:

try {
  foo.bar();
} catch (e) {
  if (e instanceof ErrorType) {
    console.log(e.name + ': ' + e.message);
  }
  // ... etc
}

其中 ErrorType 在我的示例中是一个占位符。

编辑: 正如@VLAZ 所述,这仅适用于运行时错误。

你可以使用 try...catch 方法

try {
  // your code
}
catch(err) {
  console.log(err.name)
  console.log(err.message);
}

JavaSript 中有几种类型的错误,例如:RangeError、ReferenceError、SyntaxError、TypeError、URIError 所以你可以用 err.name 属性 像这样

检查特定的错误类型
if (err.name === 'SyntaxError') {
            //handle that error type
        }