谢谢你的回答,要么是我不明白,还是你没理解我的意思。我再加些代码
void A()throws Exception{ try...catch(Exception e).... }
A方法已经声明会有异常发生,所以调用A方法的方法必须捕捉它可能有的异常,如果不捕捉自然编译不通过,现在问题是,既然调用A方法的方法必须捕捉异常,那么A方法自己再捕捉一次,是不是多余 ?
我要理解的就是这个问题,谢谢。
catch中是不是有业务处理,比如说它throw e或者其他new出来的异常?如果没有任何throw动作,那么这个声明的意义就不大了,可以去掉...
追问如果有throw e 或者 其他new出来的异常呢?
追答如果catch中有throw e或者new出来的自定义异常,那就看看catch或finally中有没有其他业务代码,如果有的话,不要动它,这个throw动作有他自己的作用(比如说可能是外部要进行事务处理啥的)。如果没有其他业务代码,那方法体里面的try..catch也是可以去掉的(去掉对整体实现没有影响,但不建议你去掉它)
主要是你现在代码贴的也不完整,完全靠猜,比较费劲。而且这类代码,你没必要太纠结,有些时候根本就是作者忘了去掉或是咋回事,你纠结狠了,得不偿失