Java学习笔记--异常
Throwable这个Java类被用来表示任何可以作为异常被抛出的类,Throwable对象可分为两种类型(指从Throwable继承而得到的类型):
Error:用来表示编译时和系统错误(一般不用关心)
Exception:是可以被抛出的基本类型,在Java类库、用户方法以及运行时故障都可能抛出Exception型异常。所以这个是需要我们关心的。
如果遇到Exception异常,我们必须对它进行捕获或抛出。
其中有个特例:RuntimeException
如果我们对传入的引用都进行如下检查是非常麻烦的一件事情。
if(t == null) throw new NullPointerException();
所以有一部分异常(运行时异常)不需要我们特意去检测,它们会自动被检测并抛出。如果我们不对其进行捕获,则RuntimeException异常会穿越所有的执行路径直达main()方法,并在程序退出前调用异常的printStackTrace()方法。
遇到普通异常时必须捕获或者在所在方法上使用throws声明抛出的异常,而遇到运行时异常则可以不对其进行捕获,也不需要在方法上声明抛出的异常。