1.异常概述与异常体系结构
分类: 编译时异常 和 运行时异常
1.运行时异常
是指编译器不要求强制处置的异常。一般是指编程时的逻辑错误,是程序员应该积极避免其出现的异常。java.lang.RuntimeException类及它的子类都是运行时异常。
对于这类异常,可以不作处理,因为这类异常很普遍,若全处理可能会对程序的可读性和运行效率产生影响。
2.编译时异常
是指编译器要求必须处置的异常。即程序在运行时由于外界因素造成的一般性异常。编译器要求Java程序必须捕获或声明所有编译时异常。对于这类异常,如果程序不处理,可能会带来意想不到的结果。
2.常见的异常
l java.lang.RuntimeException
- ClassCastException
- ArrayIndexOutOfBoundsException
- NullPointerException
- ArithmeticException
- NumberFormatException
- InputMismatchException
- 。。。
- FileNotFoundException
- EOFException
l java.io.IOExeption
l java.lang.ClassNotFoundException
l java.lang.InterruptedException
l java.io.FileNotFoundException
java.sql.SQLException
3.异常处理机制一:try-catch-finally
1.使用if-else 当时过多的分支导致程序代码加长,臃肿,可读性差
2.采用异常处理机制
①try-catch-finally
②throws +异常类型
4.异常处理机制二: throws
如果一个方法可能生成某种异常,但是并不能确定如何处理这个异常,则此方法应该显示地声明抛出异常,表明该方法不对这些异常进行处理,,而是由这个方法的调用者负责处理.
用throws语句可以声明抛出异常的列表,throws后边的异常类型可以是方法中产生的异常类型,也可以时它的父类.