Ind*_*ing 6 javascript error-handling throw
我见过 3 种在 JavaScript 中抛出错误的不同方式:
throw 'message';
throw Error('message');
throw new Error('message');
Run Code Online (Sandbox Code Playgroud)
它们之间有什么区别?
throw是一个停止函数并产生异常的表达式。紧随其后的任何内容都在异常中传递。把它想象成一个带有语法糖的函数,所以不要写你写. 就像传递一个对象而不是字符串文字一样。throwthrow('message')throw 'message'throw new Error('message')throw 'message'
throw Error('message')和之间没有区别throw new Error('message'):许多核心 JavaScript 对象允许在没有new构造函数的Error情况下创建新对象,并且恰好是其中之一。
话虽如此,您应该始终使用throw new Error('message'). 该Error对象包含堆栈跟踪和其他有用的调试信息,这些信息在您使用字符串文字时会丢失。使用 ES6 类创建对象需要使用类new并通过类进行扩展Error是保留堆栈跟踪的唯一方法。创建自定义错误类使错误处理更加统一。
另请参阅:极其精细的插图。
| 归档时间: |
|
| 查看次数: |
1083 次 |
| 最近记录: |