【问题标题】:How can adding warnings to a published API break existing clients向已发布的 API 添加警告如何破坏现有客户端
【发布时间】:2013-02-01 09:43:08
【问题描述】:

我正在阅读 Effective Java 书,并在 第 7 项中找到以下内容: 避免使用终结器部分:

作为显式终止方法模式示例引用的四个类 (FileInputStream、FileOutputStream、Timer 和 Connection)有终结器 在没有调用它们的终止方法的情况下充当安全网。不幸的是,这些终结器不会记录警告。 此类警告一般不能 在 API 发布后添加,因为它似乎会破坏现有客户端。

我的问题是怎么做?我能想象这应该发生的唯一方法是,如果客户端正在解析 java 进程的输出,而这些额外的警告可能会以某种方式破坏它们的解析。

这是否有不同的原因。

【问题讨论】:

    标签: java api warnings


    【解决方案1】:

    实际上,我想我知道为什么。书上说:

    它会看起来破坏现有客户

    我认为这里暗示的是,到目前为止运行良好的客户端会突然开始发出警告消息,并且在随机时间发出警告消息,因为警告来自终结器方法。这会让客户看起来好像出了点问题。

    这里的关键是“出现”这个词。我想不出客户端逻辑会因此而中断的情况,只是看起来中断了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多