当前位置:网站首页>异常的概念与处理

异常的概念与处理

2022-07-26 10:31:00 一尾流鸢cd

1、概念

  异常是导致程序中断的的一种指令流。
  Thowable类是Java语言中所有错误或异常的超类。

2、Throwable的分类

Error:

错误,致命,不能恢复的错误,程序员很难处理

Exception:

异常,可以处理,采用异常处理机制进行处理
在这里插入图片描述

处理的两种方式:显示处理(try{}catch(Exception){})
                            不显示处理(throw,throws)

3、异常处理机制

        try{}catch(){}finally{}

注意

  • 异常的处理只能从上到下由细到粗,不能由粗到细
  • try catch finally三者不能分别存在,但三者可以并存(try与catch,try与finally可以并存)
  • finally:是作为异常处理机制的唯一出口

4、一些常见的异常

  • 算术异常(除数为0):java.lang.ArithmeticException
  • 数字格式转换异常:
    java.lang.NumberFoematException
  • 数组越界异常:
    java.lang.ArrayIndexOutOfBoundsException
  • 空指针异常:java.lang.NullPointerException
  • 类转换异常:java.lang.ClassCastException
import java.util.Scanner;
public class Test {
    
    public static void main(String[] args) {
    
        Scanner sc=new Scanner(System.in);
        try {
    
            System.out.println("请输入第一个数");
            String a = sc.next();
            int num1 = Integer.parseInt(a);
            System.out.println("请输入第二个数");
            String b = sc.next();
            int num2 = Integer.parseInt(b);
            int c = num1 / num2;
            System.out.println("结果是:" + c);
            Object obj=null;
            System.out.println(obj.hashCode());
            args=new String[2];
            System.out.println(args[3]);
        }catch(ArithmeticException e){
    
            System.out.println("算术异常");//若b输入的是0,出现算术异常
        }catch(NumberFormatException e){
    
            e.printStackTrace();
            System.out.println("数字格式转换异常");//若输入的为非数字字符,出现数字格式转换异常
         }catch(ArrayIndexOutOfBoundsException e) {
    //所打印的长度超过数组长度出现数组越界异常
            e.printStackTrace();
        }catch(NullPointerException e){
    //没有指定对象就会出现空指针异常
            e.printStackTrace();
            System.out.println("空指针异常");
        }catch(Exception e){
    
        e.printStackTrace();
        }finally{
    
        System.out.println("不管程序是否发生异常,始终执行。");
    }
        System.out.println("结束");
    }
}
原网站

版权声明
本文为[一尾流鸢cd]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_46603402/article/details/121055822