例外是美好的事情,但我有时担心我扔太多。考虑一下这个例子:
类用户{ 如果(!user )抛出新的ExistenceException(“用户未找到”),则公共函数用户(用户){ //查询数据库中的用户数据;} }
我认为,简单地返回false (或者在本例中将所有用户数据设置为false ),而不是抛出异常是同样有意义的。
你更喜欢哪一个?
发布于 2010-03-31 18:06:53
异常情况下抛出异常。
如果该条件是您在程序正常运行时所期望的,请检查它并报告错误。为不应该发生的事情保留例外,或者作为对其他程序员的指示,说明一些无法恢复的事情已经发生。
在您的示例中,返回false更有意义(或者可能使用空对象作为返回值)。
发布于 2010-03-31 18:06:00
我通常会把例外作为最后的手段。如果这是永远不会发生并且语言支持its的事情,我将使用某种断言(因为它的发生肯定是某种类型的bug )。
如果可以避免的话,我更喜欢错误代码.
当然,在某些语言中,有些情况下你别无选择。例如,c++构造函数可能没有返回值,部分构造的对象可能不好,因此抛出异常有时是最好的选择。
总之,如果您可以测试错误条件,并以非异常的方式向调用方报告错误,我希望这样做。
发布于 2010-03-31 18:09:37
这是我的经验法则
当服务器或其他一些预期的硬件或资源不可用时,这是一种不同寻常的现象。当出现异常时,您希望开发人员或第一线支持提醒需要修复的东西。
https://stackoverflow.com/questions/2555282
复制相似问题