作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有一个抛出两个异常的方法调用,但一个异常是另一个异常的父类(super class),我应该在方法签名中抛出这两个异常,还是只抛出父类(super class)异常?我只是想知道它将如何查找作为一个实例抛出但作为该实例的父类(super class)发布的异常。
最佳答案
首先,一个警告:API 应该抛出对调用者有意义的异常。 API 声明内部失败的异常是有害的。在这些情况下,它应该包含在一个异常中,将问题传达给调用者。
也就是说,抛出父类(super class)及其子类没有任何问题。调用者只需捕获父类(super class)异常,但在可能发生的 throws 子句文档中声明两者。
例如一个 FTP 库的 put(File, URL)
方法可能会说一般 IOException
可能会发生(处理套接字连接失败的情况等),但也会放一个 FileNotFoundException
在 throws 子句中传达如果找不到要传输的文件将被抛出。
关于java - 如何在 API 中发布异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378728/
我是一名优秀的程序员,十分优秀!