java的异常处理是通过五个关键字来实现的:try,eatch,finally,throw,throws.
try-eatch块:把可能出现异常的代码块放在try语句块中,当try语句块中出现错误择去执行eatch语句中,当try语句中没有异常,则不执行eatch语句块;
try-eatch-finally块:try块是必须的,eatch和finally块为可选的,但两者必须出现其一.无论出现什么情况finally都是必须执行的
多重eatch块:一段代码可能发生多种异常,可以在try块跟多个catch语句块,但排列顺序必须是子类到父类,最后一个一般都是Exception类.运行时,系统会从上到下进行匹配,并执行第一个与异常类型匹配的catch语句.其他的catch语句都将被忽略.
throws:异常的声明,throws可以同时声明多个异常,之间用逗号隔开.
throw:抛出异常,throw位于方法体里,可以作为单独语句使用.throw new Exceptiong("语句");
异常的分类:
Throwable类:最顶级的异常类:他派生两个类:Error和Exception.
Error类:一般由java虚拟机抛出的错误,程序中不应该抛出的错误.
Exception:由java应用抛出和处理的各种错误.
常见的异常类型:
Exception:异常层次结构的根类
ArithmeticExcepton:算术错误
ArrayIndexOutOfBoundsException:数组下标越界
NullPointerException:尝试访问null对象成员
ClassNoFoundException:不能加载所需的类
InputMismatchException:得到与输入的类型不匹配
IllegalArgumentException:方法接收非法参数
ClassCastException:对象强制转换类型错误
NumberFormatException:数字格式转换异常