【问题标题】:Do Exceptions belong only to libraries异常是否只属于库
【发布时间】:2013-01-01 07:04:26
【问题描述】:

我刚刚问了一个问题here

这是关于在虚拟库管理条件下处理异常。帖子上的答案令人信服,我不应该寻求例外。

但后来我刚刚阅读了文章 here,该文章很好地说明了这一点,并且符合我之前问题的答案

只有当您期望开发人员 对问题采取纠正措施或记录事后分析 调试。

由于我们应该编写它们来帮助开发人员而不是用户,这是否意味着异常仅在开发人员将使用的库中有自己的位置? ,如果代码没有被其他开发者使用,那么我们不应该在其中使用任何异常吗?

如果不是这种情况,那么任何人都可以告诉我任何我可能需要/应该在图书馆管理项目中使用异常的实例,以便我可以了解何时应该在代码中编写异常被另一个代码调用

我想专注于应该在何时何地编写异常,尤其是仅在库中时。

【问题讨论】:

  • 什么是非库代码?我 90% 的代码,即使从未与应用程序分离和/或用于多个项目,也像应用程序的库一样有效地编写和使用。
  • 我的意思是说一个不会被其他开发人员使用的代码,或者更具体地说是不会被其他代码调用的代码。
  • 正如我所说,我有很多代码没有被“另一个开发人员”(或者更确切地说,“一个不从事这个项目的开发人员”)使用。如果我将“其他代码”表示“相关模块之外的代码”,那么我没有很多其他代码不会调用的代码,并且该代码很少做任何可能引发异常的事情(当然除了调用不属于这些标准的代码)。所以我仍然不确定我是否明白这个问题的重点。还是您的意思是“不属于该项目的代码”,即第三方代码?我觉得这是一个相当狭窄的定义。
  • 很抱歉,如果我的意思是错的或者完全没有意义,但是使用 Exception 的决定对我来说仍然很模糊。

标签: oop exception


【解决方案1】:

这很好。

  1. 任何库都不应该为调用代码抛出异常(检查异常)。应该由图书馆自己妥善处理。

  2. 关于 RunTimeExceptions,它取决于应用程序/库的设计。如果用户可以/应该采取任何纠正措施,那么我们应该抛出 RuntimeExceptions 否则,只需将它们记录下来以供开发人员使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多