【问题标题】:Why throw an Error object instead of something else?为什么要抛出一个 Error 对象而不是别的东西?
【发布时间】:2017-01-06 10:24:25
【问题描述】:

在 Mozilla 对throw 的解释中,throw 接受一个表达式。通常你会看到error 对象被抛出异常,所以我想知道抛出其他东西(如字符串或数字)而不是错误对象是否有任何缺点。

【问题讨论】:

  • 对错误进行更准确的描述。如果抛出一个错误对象,它会在客户端控制台中显示为错误。
  • 这完全取决于你想对抛出的错误做什么。
  • 抛出字符串(任何非错误对象)仍会在客户端控制台中显示错误:imgur.com/5kERF0N

标签: javascript exception error-handling


【解决方案1】:

不是一个具体的答案,但是拥有一个您知道它将包含某些属性(如 message)的标准对象是方便且一致的,这使您的应用程序的其余部分更容易做出相应的响应。

此外,如果这些错误冒泡到顶部而不被捕获,那么使用 Loggly(或类似)之类的服务来在异地记录这些错误,标准错误对象使此类服务更容易为您创建有意义的数据

【讨论】:

  • 好的,所以基本上它是标准化,如果我理解正确的话,如果您希望其他人与错误进行交互,它会很有用。
  • 可能有很多原因 - 但标准化对我来说是最重要的。这是一个有趣的问题!因为无论如何,您仍然会得到堆栈跟踪和错误输出。所以是的,我相信标准化是最重要的
猜你喜欢
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
相关资源
最近更新 更多