求大神给个简化“异常抛出”的办法? 在一个类里,每个方法都要抛出四个相同的异常,嫌老是粘贴复制麻烦,有没有什么办法可以简化下,只抛出一次就可以应用到每个方法中? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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); } 虽然是一个异常,还是要在每个方法里try{}catch(){},希望不用在每个方法中写一遍~~ 小弟才疏学浅,希望大神讲明白点,最好给个例子。我需要抛出的四个异常是:AuthenticationException, MalformedURLException, IOException, ServiceException,好像都不是RuntimeException 的子类。 偷这个懒?直接在最外层throws Exception 虽然是一个异常,还是要在每个方法里try{}catch(){},希望不用在每个方法中写一遍~~小弟才疏学浅,希望大神讲明白点,最好给个例子。我需要抛出的四个异常是:AuthenticationException, MalformedURLException, IOException, ServiceException,好像都不是RuntimeException 的子类。悟性也太低了~~ 不想转成Exception 难道不能转成RuntimeException吗~~~~ 你是指在类名后面写throws Exception吗?这好像不行吧? 虽然是一个异常,还是要在每个方法里try{}catch(){},希望不用在每个方法中写一遍~~小弟才疏学浅,希望大神讲明白点,最好给个例子。我需要抛出的四个异常是:AuthenticationException, MalformedURLException, IOException, ServiceException,好像都不是RuntimeException 的子类。悟性也太低了~~ 不想转成Exception 难道不能转成RuntimeException吗~~~~ 无奈门外汉,要不你老亲自调教个一年半载~~ 1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException public class MyIOException extends RuntimeException ... catch(IOException ex) { throw new MyIOException(ex); }2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。 楼上出柜了啊1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException public class MyIOException extends RuntimeException ... catch(IOException ex) { throw new MyIOException(ex); }2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。楼上出柜了啊 1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException public class MyIOException extends RuntimeException ... catch(IOException ex) { throw new MyIOException(ex); }2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。我明白了,你们是将四个异常合成一个异常再抛出,还是每个方法后都要跟一个throws Exception,不过也是简化了。可能我的意思没表达清楚,我希望就是只写一次throw Exception,每个方法后面不用再跟一个throws Exception。这样可以吗? 可以,但未必合适。前面已经说了:public class MyIOException extends RuntimeException那么你就不再需要声明 throws MyIOException 这段文字了。 1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException public class MyIOException extends RuntimeException ... catch(IOException ex) { throw new MyIOException(ex); }2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。楼上出柜了啊出轨了?莫非,难道,那么,你是他的..... 可以,但未必合适。前面已经说了:public class MyIOException extends RuntimeException那么你就不再需要声明 throws MyIOException 这段文字了。感觉好像是懂了,还是马上实践吧!多谢大神! 声明String 字符 和new String 的区别是什么.? Java 数据转换精度损失问题 抽象类是否可以继承具体类 java小问题 太失望了,csdn上就没有人会这个问题。以后不少啦吧,多去javaeye 请教 内部类 知识???感谢 Java集合类问题? 求救!! EntityBean的测试中报"无效的 SQL 数据类型" 360度全景效果怎么做? 请教一个default的构造方法有关的问题 Java,我有一个外网IP比如7.7.7.7:port的server,想和一内网192.168.0.13client通信,server端求个java小例子
2、四个异常共用一个基类,然后只需要声明抛出该基类。
....
} 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);
}
直接在最外层throws Exception
无奈门外汉,要不你老亲自调教个一年半载~~
1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException
public class MyIOException extends RuntimeException ... catch(IOException ex) {
throw new MyIOException(ex);
}2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException
另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。
1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException
public class MyIOException extends RuntimeException ... catch(IOException ex) {
throw new MyIOException(ex);
}2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException
另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。
楼上出柜了啊
1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException
public class MyIOException extends RuntimeException ... catch(IOException ex) {
throw new MyIOException(ex);
}2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException
另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。
我明白了,你们是将四个异常合成一个异常再抛出,还是每个方法后都要跟一个throws Exception,不过也是简化了。可能我的意思没表达清楚,我希望就是只写一次throw Exception,每个方法后面不用再跟一个throws Exception。这样可以吗?
可以,但未必合适。前面已经说了:
public class MyIOException extends RuntimeException那么你就不再需要声明 throws MyIOException 这段文字了。
1、就是:自己在最开始抛出的时候就重新将其封装为 RuntimeException
public class MyIOException extends RuntimeException ... catch(IOException ex) {
throw new MyIOException(ex);
}2、就是:抛出其公共基类,最流氓就是: throws Exception ;理想的是: throws MyBaseException
另外,一般来说不要把底层异常毫不封装的往上层狂抛,应该都是要重新包装为 项目自定义异常。
楼上出柜了啊
出轨了?莫非,难道,那么,你是他的.....
可以,但未必合适。前面已经说了:
public class MyIOException extends RuntimeException那么你就不再需要声明 throws MyIOException 这段文字了。
感觉好像是懂了,还是马上实践吧!多谢大神!