异常大体上可以分为2类:其一是必须用throw抛出以及要用catch捕获的异常;另一种就是“运行时异常”,不必要throw抛出,在运行时(当产生时)才抛出的异常。这一种异常往往在编译时无法确定会产生,如果一定要强制捕获的话,往往会把所有语句包括进try块中的,为了简化编程,就把它们归到RuntimeException(运行时异常)中。
有很多事都是不可以预知的,比如你在路上走很难保证不被谁磕到碰到,事先准备去应付这种事情是很无聊且麻烦的。RuntimeException也是这个道理。要想真搞明白,好好看看书和API的帮助文档吧,在这里几句话是说不清楚的。