首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >何时抛出异常?

何时抛出异常?
EN

Stack Overflow用户
提问于 2010-03-31 18:02:52
回答 4查看 259关注 0票数 2

例外是美好的事情,但我有时担心我扔太多。考虑一下这个例子:

类用户{ 如果(!user )抛出新的ExistenceException(“用户未找到”),则公共函数用户(用户){ //查询数据库中的用户数据;} }

我认为,简单地返回false (或者在本例中将所有用户数据设置为false ),而不是抛出异常是同样有意义的。

你更喜欢哪一个?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-31 18:06:53

异常情况下抛出异常。

如果该条件是您在程序正常运行时所期望的,请检查它并报告错误。为不应该发生的事情保留例外,或者作为对其他程序员的指示,说明一些无法恢复的事情已经发生。

在您的示例中,返回false更有意义(或者可能使用空对象作为返回值)。

票数 4
EN

Stack Overflow用户

发布于 2010-03-31 18:06:00

我通常会把例外作为最后的手段。如果这是永远不会发生并且语言支持its的事情,我将使用某种断言(因为它的发生肯定是某种类型的bug )。

如果可以避免的话,我更喜欢错误代码.

当然,在某些语言中,有些情况下你别无选择。例如,c++构造函数可能没有返回值,部分构造的对象可能不好,因此抛出异常有时是最好的选择。

总之,如果您可以测试错误条件,并以非异常的方式向调用方报告错误,我希望这样做。

票数 1
EN

Stack Overflow用户

发布于 2010-03-31 18:09:37

这是我的经验法则

  • 正常程序逻辑.使用返回码和参数
  • 一些不寻常的事情发生了--使用一个例外。

当服务器或其他一些预期的硬件或资源不可用时,这是一种不同寻常的现象。当出现异常时,您希望开发人员或第一线支持提醒需要修复的东西。

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

https://stackoverflow.com/questions/2555282

复制
相关文章

相似问题

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