【发布时间】:2017-05-31 00:12:01
【问题描述】:
又是一个 Delphi 新手问题。是否有指定方法引发的异常的标准方法(我已经用谷歌搜索过,但除了处理异常的基础知识之外似乎找不到任何关于该主题的内容)。
换句话说,在函数/过程签名中是否有一种标准的方式来表示“我的函数/过程可以抛出这个特定的异常”(我假设没有)。那么让 API 的客户端知道给定过程/方法将引发哪种异常的最佳实践是什么
【问题讨论】:
-
只有像 Java 这样的语言才会强制开发人员在代码中指定,但实际上只会带来更多麻烦。 C# 等语言允许在 cmets/documentation 中指定异常。所以对于Delphi,我认为你只能留下具体的文档。
-
像 C++ 这样的语言甚至不再在代码中指定确切的异常。
-
An interesting read 关于 Anders Hejlsberg 的主题
-
另一篇有趣的读物来自 Java 联合开发者 Martin Odersky:在他的后 Java 语言中,“检查异常”特性被删除,因为实际上是有害的,请参阅 steshaw.org/posts/2007/06/18/exceptions-checked-or-not/…。另请阅读softwareengineering.stackexchange.com/questions/177806/… 和scala-lang.org/old/node/8787 和scala-lang.org/old/node/1939(没有任何跟进!)和
-
groups.google.com/forum/#!topic/javaposse/… 阅读 phil swenson 18.08.09 的评论