异常的概念:异常是指在程序的运行过程中所发生的不正常时间,它会中断正在运行的程序。在程序运行遇到异常后,异常后面的所有语句都不执行(一种方法除外“finally”),异常前面的语句可以执行。
异常处理机制:帮助我们在编写程序的时候,让程序尽可能的不出现错误中断程序运行。
处理异常的五个关键字:
(1.)try:将程序可能抛出异常的地方用try进行包裹。
(2.)catch:与try配对出现,如果与try中的异常类型一样,则进入到catch中处理异常。程序中会存在很多catch代码块,catch代码块书写顺序要求异常类型的子类写在前面,异常类型的父类写在后面。
(3.)finally:该方法无论程序是否抛出异常,finally代码块永远执行( system.exit(0) )除外。
(4.)throw:表示手动抛出一个异常。
(5.)throws:可能抛出异常的一个声明。
异常的继承树:一切异常的父类是throwable,该类下面有两个子类,Exception和error,其中error表示程序不可恢复的错误(内存溢出),Exception又分为两种:1:受检异常(checked)和 2:非受检异常(unchecked或RuntimeException)
受检异常:程序在编译阶段就给我们抛出的异常,必须处理。
非受检异常:程序在执行的过程所抛出的异常,一般是编程人员造成。
部分常见异常:
算术异常类:ArithmeticException
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException