Coding style 我是否应该冒险为一个不重要的方法抛出异常?

Coding style 我是否应该冒险为一个不重要的方法抛出异常?,coding-style,Coding Style,为了避免方法可能出现的意外异常(为了程序的稳定性),我最近发现自己使用了混合返回值--bool(true),用于成功执行,并使用一个字符串描述失败时的错误。然后,该类根据返回值进行相应的操作 我觉得,如果我只是抛出异常并在发生错误时适当地捕获它,那么对于读者来说,代码可能更容易理解 我有一种烦人的感觉,真/字符串混合回报在某种程度上是丑陋的——至少我不经常看到它,我不能说我以前用过很多。同时,该方法也不是那么关键,如果它失败并且没有捕获到异常,那么就值得破坏整个应用程序。我在这里完全是强迫症/偏

为了避免方法可能出现的意外异常(为了程序的稳定性),我最近发现自己使用了混合返回值--
bool(true)
,用于成功执行,并使用一个字符串描述失败时的错误。然后,该类根据返回值进行相应的操作

我觉得,如果我只是抛出异常并在发生错误时适当地捕获它,那么对于读者来说,代码可能更容易理解


我有一种烦人的感觉,真/字符串混合回报在某种程度上是丑陋的——至少我不经常看到它,我不能说我以前用过很多。同时,该方法也不是那么关键,如果它失败并且没有捕获到异常,那么就值得破坏整个应用程序。我在这里完全是强迫症/偏执狂吗?这有关系吗?帮助我停止疯狂:)

异常是针对异常(程序部件的未中断和/或严重故障)。对于处理您可以预期的错误,它们很难成为一个易于使用的替代品。我的$0.02;-)


因此,如果您的方法是关键的,并且遇到了关键故障,那么抛出异常可能是正确的方法。在全局或类范围中定义有意义的错误值/描述并返回这些值/描述可能是处理这些错误的另一种有效方法。

这涉及到网络流量,当然可能会意外失败,但也不会很严重。呵呵,我想这就是为什么它让我发疯的原因,因为它甚至都不重要:)谢谢——你的1/50美元帮助我理清了这个问题:)你很有趣。你的个人资料也是。我过去常问人们是否认识高大的T台模特。。。他们会想,然后说,“不,为什么?”我会说“因为我想娶一个。”大多数人都会笑。“现在我结婚了,我娶了一个。”罗伯特:嗯,总得有人保持低调。所以巨魔对每个人都很严肃;)是的,我只是笑眯眯地眨了眨眼睛。请确保不要将这种返回值与一种在失败时预期为FALSE/NULL/0的编码样式混合在一起。如果调用方以将错误字符串转换为布尔值的方式检查失败,它将认为函数成功了!