异常
解释:生活中,发生突发状况,比如停电了。
程序中,异常就是在程序的运行过程中所发生的不正常的事件。错误是指仅靠程序本身无法恢复的严重错误。
异常处理
第一种:
try-catch
try-catch
try–放执行可能产生异常的代码
catch–捕获异常
第二种
try-catch-finally
try-catch-finally
finally: 最后
是否发生异常都会执行finally内的代码
特殊情况:不执行finally块
即:System.exit(1); // 中断程序,将退出Java虚拟机
注意:finally常用于关闭资源
第三种
多重catch块
针对不同的异常做不同的处理
排列catch语句的顺序:
先子类后父类
所有子类都继承自Exception
声明异常------throws
抛出异常------throw
即:在方法体里面抛出异常
程序运行过程中,发现某些数据不符合项目业务逻辑时,需要程序员手动抛出异常
一般抛出自定义的异常 throw new Exception();
抛出一个异常后,必须用throws方法给方法声明该异常或者直接捕获该异常(没意义)
throw和throws的区别
1.作用不同:
throw用于在程序中抛出异常
throws用于声明在该方法内抛出异常
2.使用的位置不同
throw位于方法体内部
throws必须跟在方法参数列表的后面
3.内容不同
throw抛出一个异常对象
throws后面跟异常类,而且可以跟多个异常类
常见的异常类型
在编程中,我们会遇到各种异常,各种报错,这个时候,一定要冷静下来。
异常 | 解释 |
---|---|
ArithmeticException | 算术错误异常 |
ArrayIndexOutOfBoundsException | 数组下标越界 |
NullPointerException | 空指针异常 |
ClassNotFoundException | 不能加载所需的类,类找不到 |
InputMismatchException | 输入类型不匹配异常 |
IllegalArgumentException | 方法接收到非法参数 |
ClassCastException | 类型转换异常 |
NumberFormatException | 数字格式转换异常 |