【问题标题】:Scaladoc swallowed @throws and @note tagsScaladoc 吞下了 @throws 和 @note 标签
【发布时间】:2011-09-13 19:13:07
【问题描述】:

在创建 Scala 文档时,我还使用 @throws@note 标记,如文档中的 here (Scaladoc Wiki - Tags and Annotations)

很遗憾,我在生成的 Scaladoc 中找不到这些。

是否必须设置某些开关,考虑特定的事情还是这是一个已知问题?

顺便说一句:使用 Scala 2.9.0.1 的 scaladoc Ant 任务 也不会发出警告。

编辑: BTW2 并澄清一下:我不是指 @throws 注释

@throws(classOf[RuntimeException])
def dispatch: Nothing = throw new RuntimeException

这在 def 的注释部分中记录,但 Scaladoc 的 @throws 标记类似

/** @throws RuntimeException
 */
def dispatch: Nothing = throw new RuntimeException

【问题讨论】:

  • 您使用的是哪个版本的 Scala?对@throws 的支持似乎是最近才出现的(2011 年 5 月/6 月):github.com/scala/scala/pull/23
  • 你用 2.9.1 final 试过了吗?
  • @throws 在 2.9.0.1 中不会被忽略。它适用于我的 scaladoc 版本。至少,它们出现在注释部分。
  • @VonC 我刚刚尝试了 2.9.1 final(使用命令行中的 scaladoc)=> 似乎是一样的。但是标签@throws@note是工具所熟知的——因为如果一个人写错了标签(例如@notes),那么确实有一个warning: Tag '@notes' is not recognised
  • @binuWADa:好的,那么按照 Matthew 的评论,是否有可能考虑到这些标签,但是您在错误的地方寻找它们?或者它们以某种方式被样式表隐藏了?

标签: scala scaladoc


【解决方案1】:

这是一个错误和尚未发布的内容的组合。

@note 不起作用,这是一个已知的错误,请参阅@todo, @note and @example don't work?

@throws 是最近才添加的,参见 Simon Ochsenreither 中的 pull request,该 Simon Ochsenreither 于 2011 年 7 月合并。尚未发布,2.9.0.1 于 2011 年 5 月发布,2.9 发布。 1 于 2011 年 7 月开始。

【讨论】:

  • @Matthew Farwell:这是否意味着@throws 可以在下一个版本 > 2.9.1 中使用?
  • @binuWADa 我想是的。
【解决方案2】:

added support for @note半年前。

如果你看一下这里,它似乎工作正常:scala.util.matching.Regex

另一件事是@throws ScalaDoc 标签。实际上,我正在考虑删除对它的支持,转而支持 @throws 注释,这是受支持的,因为我看不到任何使用 ScalaDoc 标记而不是注释的用例。

如果您有真正的需要,请告诉我,不要告诉我!

编辑:嗯。看看scala.Array,它实际上看起来是相反的......

【讨论】:

  • 用例将是对何时(为什么,在什么条件下)抛出异常的更详细解释,例如@throws RuntimeException when something happen 使用 @throws 注释是不可能的,它只会告诉你这个异常可以被抛出。
  • 我只是在关注您的链接,我必须说 wow - 每晚构建的 Scaladoc 代码部分中突出显示的语法看起来太棒了!这不是问题,但必须说;-)
  • 这个改变真的进入了 2.9.1 吗?我在scala-lang.org/node/10743 中看不到 25042
  • @binuWADa:有类似@throws(clazz: Class[_], reason: String = "") 的东西怎么样?这对你有用吗?
  • @soc:当然,这将实现其目的。但出于我的兴趣:@throws 注释有什么好处?或者更准确地说:什么工具(Scaladoc 除外)可以使用它的信息(可能没有reason)?
猜你喜欢
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多