【发布时间】:2011-05-30 01:11:17
【问题描述】:
我有一个使用 API 的两种方法的应用程序。这两种方法都各自抛出超过五个异常。所以,如果我只是添加一个 throws 声明,那么它就会变成一个超过十个的列表。 (我的方法无法处理十个异常中的任何一个)
我已经读过抛出一长串异常是一种不好的做法。抛出(伞)异常也是一种不好的做法。所以我该怎么做?
- 添加try catch块,在catch块中记录退出?
- 创建自定义异常类,包装每个异常并抛出自定义异常?
- 为所有异常添加 throws 声明?
- 抛出异常?
- 添加一个try catch块,并在catch块中抛出一个RuntimeException? (当前方法)
编辑:添加了选项 5。
【问题讨论】:
-
抛出的异常是特定家族的成员吗?例如IOException