288/289异常概念&异常体系和异常分类


异常概念&异常体系

ava.Lang. Throwable:类是J0va语言中所有错误或异常的超类。Exception:编译期异常,进行编译(写代码)avo程序出现的问题Runtimeexception:运行期异常,jw程序运行过程中出现的问题昇常就相当于程序得了一个小毛病(感冒,发烧)把昇常处理掉,程序可以继续执行(吃点药,继续革命工作Error:错误错误就相当于程序得了一个无法治煎的毛病(非典,艾滋).必须修改源代码,程序才能继续执行

异常的概念:

概念:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM非正常停止。异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象  

异常,就是不正常的意思。在生活中:医生说.你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响

在程序中的意思就是︰

  异常∶指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。

  在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。 Java处理异常的方式是中断处理。

异常的体系:

异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类

:java.lang.Error与java.lang . Exception,

平常所说的异常指java.lang.Exception 。

Throwable体系:
  Error:严重错误Error,无法通过处理的错误,只能事先避免。
  Exception:表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的。

java.lang.Throwable:类是Java语言中所有错误或异常的超类

Exception:编译期异常,进行编译(写代码)java程序出现的问题

          RuntimeException:运行期异常, java程序运行过程中出现的问题

          异常就相当于程序得了一个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药,继续工作)

Error:错误

          错误就相当于得了一个无法治愈的毛病(非典,艾滋),必须修改源代码,程序才能继续执行。

异常分类

我们平常说的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。异常(Exception)的分类:根据在编译时期还是运行时期去检查异常?

编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)。

运行时期异常:runtime异常。在运行时期,检查异常.在编译时期,运行异常不会编译器检测(不报错)。(如数学异常)

 

java.Lang. Throvable:类是Java语言中所有错误或异常的超类。

Exception:编译期异常,进行编译(写代码乃avo程序出现的问题

  RuntimeException:运行期异常,jaa程序运行过程中出现的问题

  异常就相当于程序得了一个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药,继续革命工作)

Error:错误

  错误就相当于程序得了一个无法治煎的毛病(非典,艾滋).必须修改源代码,程序才能继续执行

public static void main(String[] args) {
        // Exception:编译期异常,进行编译(写代码)java程序出现的问题
      /*  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );//用来格式化日期
        Date date = null;
        try {
            date = sdf.parse("1999-0909" );//把字符串格式的日期,解析为Date格式的日期
        }catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(date);
      */

        // RuntimeException:运行期异常,java程序运行过程中出现的问题
        /*
                int[] arr = {1,2,3};
                System.out.println(arr[0] );
                try {
                    //可能会出现异常的代码
                    System.out.println(arr[3]);
                }catch(Exception e){
                    //异常的处理逻辑
                    System.out.println(e);
                }
        */
       // Error:错误
       // outoiemoryErron: Java heap space
       // 内存溢出的错误,创建的数组太大了,超出了给VIr分配的内存*/
       // int[] arr = new int[1024*1024*1024];
        // 必须修改代码,创建的数组小一点
        int[]arr = new int[ 1024*1024];

        System.out.println("后续代码");

 

可查异常

 

 public static void main(String[] args) {
        File f=new File("d:/l.txt");
        System.out.println("试图打开文件");
        try {
            new FileInputStream(f);
            System.out.println("成功打开");
        } catch (FileNotFoundException e) {
            System.out.println("文件不存在");
            e.printStackTrace();
        }
    }

 

 

运行时异常

 

public static void main(String[] args) {
        //任何除数不能为0:ArithmeticException
        int result=5/0;
        //下标越界异常:ArrayIndexOutOfBoundsException
        int j[]=new int[5];
        j[10]=10;

        //空指针异常:NullPointerException
        String str=null;
        str.length();
    }

 

 

错误Error

 

 public static void main(String[] args) {
     
        StringBuffer sb =new StringBuffer();
         
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            sb.append('a');
        }
         
    }

 

 

原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/272637.html

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

发表回复

登录后才能评论