javase基础复习攻略《四》

  本篇内容重点介绍JAVA中的异常处理机制,什么是JAVA异常?JAVA异常是JAVA提供的用于处理程序中错误的一种机制。所谓错误就是指在程序的运行过程中出现的一些异常事件(如:0溢出,数组下表越界,所读取的文件不存在......)。

  JAVA程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给JAVA运行时系统,这个过程被称为抛出(throw)异常。当JAVA运行时系统接收到异常对象时,会寻找能处理这一异常的代码,并把当前对象交给其处理,这个过程称为捕获(catch)异常。

  JAVA SDK定义了很多异常,大致分为:Error——错误,由JAVA虚拟机生成并抛出,包括:动态链接失败、虚拟机错误,程序对其不做任何操作。Exception——所有异常类的父类,其子类对应这各种各样可能出现的异常事件,一般需要用户显式的声明和捕获。RuntimeException——运行时错误,一类特殊的异常,如被0除,数组下标越界等,这类异常产生比较频繁,处理麻烦,如果显式的声明和捕获将对程序的可读性和运行效率影响很大。因此由系统自动检测,并将他们交给缺省的异常处理程序(用户不必对其处理)。

 1、异常的捕获和处理:

  JAVA对异常的捕获和处理使用try和catch关键字。try代码段包含可能产生例外的代码;try代码段后跟一个或多个catch代码段;每个catch代码段声明其能处理的一种特定类型的异常,并提供处理方法;当异常发生时,程序会中止当前的流程,根据捕获的异常类型去执行相应的catch代码段;finally段的代码无论是否发生异常均会被处理。

  javase基础复习攻略《四》 

 2、异常的捕获和处理:

public class Test {

    /**
     * @param 异常的捕获和处理
     */
    private static FileInputStream input;
    public static void main(String[] args) throws FileNotFoundException {
        try {//捕获异常
            input = new FileInputStream("test.java");
                int a = input.read();
                while(a!=-1){
                    System.out.println((char)a);
                    a = input.read();
                }
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println("系统出现异常");
            }finally{
            System.out.println("关闭程序");
        }
    }
}

  对于异常的处理和捕获就为大家总结这些,如果大家有什么想法,欢迎留言补充,一起交流共同进步。