zoukankan      html  css  js  c++  java
  • 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段的代码无论是否发生异常均会被处理。

       

     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("关闭程序");
            }
        }
    }

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

  • 相关阅读:
    IntegrityError duplicate key value violates unique constraint
    LeetCode 212: Word Search II
    LeetCode: Lowest Common Ancestor of a Binary Search Tree 解题报告
    LeetCode: Unique Paths II 解题报告
    LeetCode: Unique Paths 解题报告
    LeetCode: Remove Nth Node From End of List 解题报告
    LeetCode: Convert Sorted List to Binary Search Tree 解题报告
    LeetCode: Path Sum II 解题报告
    lintcode: k Sum 解题报告
    LeetCode: Unique Binary Search Trees II 解题报告
  • 原文地址:https://www.cnblogs.com/AndroidJotting/p/4335400.html
Copyright © 2011-2022 走看看