首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理should.js断言错误

如何处理should.js断言错误
EN

Stack Overflow用户
提问于 2013-04-12 19:06:04
回答 2查看 1.8K关注 0票数 3

应该如何处理由should.js (或node.js)失败的断言抛出的未捕获异常,并在断言失败的同一函数/块上保持执行?

我试着将断言包装在一个try/catch中,但它似乎被放到了process.on('uncaughtexception')中。

最后,在您的生产代码中使用断言来验证对象属性是一种良好的实践和性能吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-12 19:19:17

正如documentation声明的那样,Node的断言基本上是为了进行单元测试。因此,我不会在生产代码中使用它。我更喜欢单元测试,以确保断言在某些情况下是正确的。

然而,我认为您在这里以错误的方式使用assert :如果一个断言失败,那么就是错误的。你的应用程序处于某种未知状态。

如果你有一些处理无效对象的方法,断言不是正确的工具:据我所知,你并不是真的要求一个对象是有效的,但是如果它不是有效的,你想做一些不同的事情。这是一个简单的条件,而不是断言。

票数 0
EN

Stack Overflow用户

发布于 2014-10-24 23:31:43

Hi @dublx我认为在生产代码中使用断言是非常有效的用例。例如,如果您依赖于您知道以某种方式运行的外部API。此API可能会突然更改并破坏您的代码。如果断言检测到API发生了更改,并且您将收到一封自动的电子邮件,那么您甚至可以在您的客户意识到中断之前修复它。

也就是说,我推荐assume.js,它恰好解决了你的问题。即使是性能也很出色:一个断言只需要17微秒或0.017毫秒。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15969770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档