• java 面向对象(二十八):异常 一


    1. 异常的体系结构
    * java.lang.Throwable
    * |-----java.lang.Error:一般不编写针对性的代码进行处理。
    * |-----java.lang.Exception:可以进行异常的处理
    *    |------编译时异常(checked)
    *      |-----IOException
    *         |-----FileNotFoundException
    *      |-----ClassNotFoundException
    *   |------运行时异常(unchecked,RuntimeException)
    *     |-----NullPointerException
    *      |-----ArrayIndexOutOfBoundsException
    *     |-----ClassCastException
    *      |-----NumberFormatException
    *     |-----InputMismatchException
    *     |-----ArithmeticException

     2.从程序执行过程,看编译时异常和运行时异常

    编译时异常:执行javac.exe命名时,可能出现的异常
    运行时异常:执行java.exe命名时,出现的异常

    3.常见的异常类型,请举例说明:

    //******************以下是运行时异常***************************
        //ArithmeticException
        @Test
        public void test6(){
            int a = 10;
            int b = 0;
            System.out.println(a / b);
        }
        
        //InputMismatchException
        @Test
        public void test5(){
            Scanner scanner = new Scanner(System.in);
            int score = scanner.nextInt();
            System.out.println(score);
            
            scanner.close();
        }
        
        //NumberFormatException
        @Test
        public void test4(){
            
            String str = "123";
            str = "abc";
            int num = Integer.parseInt(str);
            
            
            
        }
        
        //ClassCastException
        @Test
        public void test3(){
            Object obj = new Date();
            String str = (String)obj;
        }
        
        //IndexOutOfBoundsException
        @Test
        public void test2(){
            //ArrayIndexOutOfBoundsException
    //        int[] arr = new int[10];
    //        System.out.println(arr[10]);
            //StringIndexOutOfBoundsException
            String str = "abc";
            System.out.println(str.charAt(3));
        }
        
        //NullPointerException
        @Test
        public void test1(){
            
    //        int[] arr = null;
    //        System.out.println(arr[3]);
            
            String str = "abc";
            str = null;
            System.out.println(str.charAt(0));
            
        }
    
        //******************以下是编译时异常***************************
        @Test
        public void test7(){
    //        File file = new File("hello.txt");
    //        FileInputStream fis = new FileInputStream(file);
    //        
    //        int data = fis.read();
    //        while(data != -1){
    //            System.out.print((char)data);
    //            data = fis.read();
    //        }
    //        
    //        fis.close();
            
        }
  • 相关阅读:
    数学形态学——腐蚀、膨胀、开、闭、细化
    VS2010中 报错:error C2146、error C4430 原因一:缺少CvvImage类
    帧同步和状态同步
    HTML5触摸事件演化tap事件
    screenX clientX pageX的区别
    phaser的小游戏的onInputDown问题
    phaser入手
    pixi.js 微信小游戏 入手
    正则表达式
    剖析Vue原理&实现双向绑定MVVM-2
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13178330.html
Copyright © 2020-2023  润新知