异常对象和普通java对象一样,都在堆上分配内存 ;
异常构造器
标准异常类:有2个构造器;分别是默认构造器、接受字符串参数;(这些是 JDK1.4
之前,1.4
之后,Error
、Exception
、RuntimeException
多了一个构造器,可以传异常对象进入)
Throwable
是异常的根类 ;
e.printStaceTrace()
;将信息输出到标准错误流里面(System.err
)
异常占位
在方法上申明异常,但是我们的方法可以不抛出异常,只是起一个占位作用,为了以后方法的扩展,可能会抛出异常做准备;
RuntimeException
VS Exception
RuntimeException
:代表是编程错误(表示是我们程序员自己写的代码写错了)
Exception
:表示的是,程序执行期间遇到问题,这些问题不是代码写错了造成的;
return
VS finally
将 return
用 try
抓起来,即使执行了 return
只要有 finally
,那么 finally
的语句是会得到执行的 ;
异常丢失
异常在某些情况下,会丢失;当我们在捕捉到异常的 catch
里面不做任何处理(吞咽异常
),或者再抛出其他异常 ,那么之前的异常,就会丢失掉 ;
父类方法异常
覆盖父类方法的时候,只能抛父类抛出的异常;当然,也可以什么异常都不抛出 ;
备注:
这两张,并没有什么好讲的,书上的知识,之前学过不少,因此,这里就是简单的写下一些知识点;