简单点说,抛出Exception异常时,如果不声明的话,编译会失败.但程序还得运行下去,所以必须声明一下,程序才能继续运行.
而抛RuntimeException时,不用声明程序也能继续运行下去,到了运行阶段时,就会抛出异常,让程序停止下来.
两者的目的不同,Exception是为了让程序继续运行,就算抛出异常经过处理也还能继续运行.
而RuntimeException是为了让程序停上下来.一旦一个程序出现是的RuntimeException时,那这个异常,通过throws或者try catch也是处理不了的,而是必须修改原代码,才来处理的.因此没必声明处理,因为声明处理也搞不定,还不如让程序一股走底,直到出错,并停止.以便修改. |