关与异常捕捉这个问题
首先我们要区分什么时候用try {}catch(){}
什么时候用throw 什么时候用throws,
1.如果你需要抓取具体的异常那么需要对代码块用try {}catch(){}
2.如果你将抓取的异常抛出到控制台或日志中就需要用到throw — 注意这个throw一般会写在catch代码块里,还有就是如果catch中加了这个throw,并且try {}catch(){}
捕捉到异常执行到throw抛出异常,那么整个方法都会停止不再执行,,,所以如果在捕捉到异常的情况下需要程序继续往后执行的话,可以不选用用throw抛出异常,而是通过e.printStackTrace();
打印出报错信息
例如:
try {
member = CalculateUtils.calculateByTimer(member, list);
} catch (Exception e) {
//throw e;
e.printStackTrace();
}
3.如果不想捕捉异常和抛出异常,也可以声明异常,这里就用到throws
例如:
public void testMethod() throws IOException { // …… }
一般用在程序内捕捉不了异常的情况(或者偷懒不想解决的情况),这样声明后调用者就只能选择继续声明或捕捉异常。
然后我们还要知道异常的分类,关于分类网上一大堆,有空我再一一详解