Kotlin – 接口方法引发的文档exception

由于Kotlin没有得到检查exception,文档exception预期将被接口方法抛出的正确方法是什么? 我应该在接口中还是在实现类中记录它(只有在具体方法实际抛出它时)?

由于客户端程序对接口,我建议在该接口的Javadoc / KDoc的文件。 你是否真的应该记录他们在这个线程中讨论,例如:

Oracle建议:

如果记录方法的API非常好,包括可以抛出的exception,为什么不指定运行时exception呢?
运行时exception表示由编程问题导致的问题,因此API客户端代码无法合理地从它们中恢复或以任何方式处理它们。 这样的问题包括算术例外,例如除以零; 指针exception,比如试图通过空引用访问一个对象; 和索引exception,比如试图通过太大或太小的索引访问数组元素。
运行时exception可以发生在程序中的任何地方,而在典型的情况下,它们可能非常多。 不得不在每个方法声明中添加运行时exception都会降低程序的清晰度。

所以如果这些信息对于客户端来说是有用的,那么它应该被记录下来(即,如果客户端可以处理它,例如IOException )。 对于“常规”运行时exception,如IllegalArgumentException我会说“不”,不要记录它们。