异常
异常是指在程序的运行过程中所发生的不正常的事件,他会中断正在运行的程序。
异常分为:
RuntimeException(运行时异常):包括RuntimeaException及其所有子类。不要求程序必须对它们作出处理,比如InputMismatchExceptio、ArithmeticException、NullPointerException等。即使没有使用try-catch或throws进行处理,仍旧可以进行编译和运行。如果运行时发生异常,会输出异常的堆栈信息并中止程序执行。
Checked异常(非运行时异常):除了运行时异常外的其他异常类都是Checked异常。程序必须捕获或者声明抛出这种异常,否则出现编译错误,无法通过编译。处理方式包括两种:通过try-catch捕获异常,通过throws声明抛出异常从而交给上一级调用方法处理。
Java编程语言使用异常处理机制为程序提供了错误处理的能力。
异常不可避免,java解决异常的办法:try catch finally(抓) throws (声明)throw(抛)。
try 语句块用来对异常代码进行捕获;
catch 对产生的异常进行对应的处理;
finally 不管是否发生异常,代码块都要执行;
throws 声明方法中可能要抛出的各种异常;
throw 手动抛出异常。
在try catch finally语句中,不管return在什么地方,在执行return之前都会调用finally代码块,一个try语句必须带有至少一个catch语句块或一个finally语句块。
java异常:产生异常的时候java会对应异常类型生成一个异常的对象,当try捕获到异常后,catch会拿到异常的对象和catch的后面的异常类型进行对比,如果对比成功,执行这个catch,如果对比失败,交给下一个catch块继续对比(有下一个catch的情况下)。
常见的异常:NullPointerException 空指针异常,ArrayIndexOutOfBoundsException 数组下标越界异常,ClassNotFoundException 找不到类异常, FileNotFoundException 找不到文件异常,NetException ,SQLException SQL异常 ,IOException io异常,NumberFormatException 数字格式化异常