如果我们调用了一个方法,而这个方法throws了一个异常,那么我们应该做什么呢?毫无疑问,eclipse给了我们最佳的的答案,它会提示你:继续抛出(throws)或者现场解决(try...catch)。这道理很简单,因为eclipse就是教导我们的。但是假如发生了例外:如上图,save方法(具体功能不作介绍,与问题无关)明明抛出了一个异常。但是我们调用的时候,竟然没有提示我们对异常进行处理。为了确定这个方法确实会抛出异常,我反编译得到源码:的确抛出异常,但是为什么,eclipse没有提示处理异常,我很奇怪,各位大神如果懂,请指点一下。
4 回答
donlv
TA贡献13条经验 获得超2个赞
java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption)。
检查式异常:我们经常遇到的IO异常及sql异常就属于检查式异常。对于这种异常,java编译器要求我们必须对出现的这些异常进行catch 所以 面对这种异常不管我们是否愿意,只能自己去写一堆catch来捕捉这些异常。
运行时异常:我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。
添加回答
举报
0/150
提交
取消