1、异常,运行时出现的错误。注意观察错误的类型和出错的行号。
2、设计良好的程序应该在异常发生的时候提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的错误。
3、Java程序运行过程中如发生异常事件,可以生成一个异常对象,该对象封装了异常事件的信息并交给java运行时系统,这个过程叫抛出(throw)异常。(默认的处理方式是打印异常类的信息)
4、当java运行时系统接收到异常类对象时,会寻找能够处理该异常的代码并把该异常对象交给其处理,这一过程叫做捕获(catch)异常。
5、catch(Exception e),该异常类对象在发生异常的时候系统帮我们初始化它。
6、查看jdk文档的时候,若方法声明的时候抛出了异常,查看该异常的类型,若其不是RuntiemException类的子类,则必须得要捕捉它。当然,也可以将该异常抛出不做处理。
7、try代码段包含可能产生例外的代码。
8、try代码段后跟一个或多个catch代码段。
9、每个catch声明其处理一种特定类型的异常并提供处理的方法。
10、当异常发生时,程序终止当前的流程,根据获取异常的类型执行相应的catch代码段。
11、 finally段的代码无论是否发生异常都将执行。
12、 getMessage( ),用来得到有关异常事件的信息。
13、printStackTrace(),用来跟踪异常事件发生时执行的堆栈信息。一个异常的产生可能因调用前一个方法产生的,该方法打印异常链,最顶端的是最终发生异常的地。
14、重写方法需要抛出与原方法所抛出异常类型一致或不抛出异常
异常分类,如下图:
程序正常执行,和发生异常的流程: