6

在 JavaScript 中应该抛出什么类型的对象?

我看到很多例子都抛出了一个普通的旧类型string,并且似乎有一个半标准Error类型。我应该更喜欢一个吗?

4

1 回答 1

7

对象和特定的Error错误对象,例如TypeError在 ECMAScript 规范中完全标准化。然而,在大多数浏览器中,这些对象都有一些常见的非标准属性。

你可以抛出任何你喜欢的东西,只要你的错误处理代码知道如何处理你抛出的对象,但是使用Error对象有好处:

  • 与处理本机代码抛出的错误保持一致,例如拥有一个message属性,因此您不必编写不同的代码来处理本机错误和您自己的错误;
  • ErrorMozilla 和其他浏览器中的对象具有非常有用的非标准属性,例如fileNamelineNumberstack. 您只能在Error对象上获得这些,它们对于调试非常有用。
于 2010-11-08T12:48:27.507 回答