最佳答案
Error
对象和特定的错误对象(例如 TypeError
)在 ECMAScript 规范中已完全标准化。但是,大多数浏览器都提供这些对象的通用非标准属性。
只要您的错误处理代码知道如何处理您抛出的对象,您就可以抛出任何您喜欢的东西,但是使用 Error
对象有以下优点:
- 与处理原生代码抛出的错误保持一致,例如具有
message
属性,因此您不必编写不同的代码来处理原生错误和您自己的错误;
Mozilla 和其他浏览器中的 Error
对象具有非常有用的非标准属性,例如fileName
、lineNumber
和stack
.您只能在Error
对象上获得这些,它们对于调试非常有用。
关于javascript - JavaScript 应该抛出什么类型的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123775/