求大神给个简化“异常抛出”的办法?
在一个类里,每个方法都要抛出四个相同的异常,嫌老是粘贴复制麻烦,有没有什么办法可以简化下,只抛出一次就可以应用到每个方法中?
[解决办法]
1、改为抛出 RuntimeException 的子类;
2、四个异常共用一个基类,然后只需要声明抛出该基类。
[解决办法]
改成抛一个自定义的异常。
[解决办法]
3、将四个四个相同的异常转成一个异常
try{
....
} catch(Exception1 exp) {
throw new MyException(exp);
} catch(Exception2 exp) {
throw new MyException(exp);
} catch(Exception3 exp) {
throw new MyException(exp);
} catch(Exception4 exp) {
throw new MyException(exp);
}
[解决办法]
[解决办法]
小弟才疏学浅,希望大神讲明白点,最好给个例子。我需要抛出的四个异常是:AuthenticationException, MalformedURLException, IOException, ServiceException,好像都不是RuntimeException 的子类。
1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException
public class MyIOException extends RuntimeException ...
catch(IOException ex) {
throw new MyIOException(ex);
}
2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException
另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。