runtimeexception 直接停止,而且可以不用声明,视频里都说了。我做了这样一个实验,加强理解。
如果异常不是runtimeexception,就一直throws,直到throws给虚拟机,结果和直接runtimeexception结果一样。
还有,runtimeexception 也可以catch到。
下面是个人理解。runtime异常是不希望调用者处理,直接扔给虚拟机,是程序停掉了,但并不代表不可以处理,只是不想让调用者知道,所以不声明。而其他异常,必须声明,就是想让调用者处理掉,如果调用者都不处理,最终在main上面throws给了虚拟机,其结果和runtime一样了,总之就是想让调用者处理掉。
不知道理解的对不对。。。 |