编程语言
首页 > 编程语言> > Java异常处理体系

Java异常处理体系

作者:互联网

异常机制

异常的体系架构

异常的定义

异常的分类

  1. 检查性异常:最具有代表的检查性异常是用户错误或问题引发的异常,这是程序员无法遇见的,例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单的忽略
  2. 运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略
  3. 错误:错误不是异常,而是脱离程序员控制的问题,错误在代码中通常被忽略,例如:当栈溢出时,一个错误就发生了,他们在编译也检查不到的。

架构体系

image

Error

Exception

Error和Exception的区别

Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,jvm一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常

Java的异常处理机制

抛出异常

throw关键字:

public static void main(String[] args) {

    new Demo02().test(1,2);
}

public void test(int a ,int b)
{
    if(b==0){
        throw  new ArithmeticException();  //主动抛出异常,一般在方法中
    }
}

throws关键字

public void test(int a ,int b) throws ArithmeticException
{
    System.out.println(a/b);
}

捕获异常

nt a=1;
int b=0;

try {//try监控区域
    System.out.println(a/b);
}catch (ArithmeticException e){ //捕获异常,当发生异常的时候执行该代码块  catch里面的参数是想要捕获的异常类型并且可以捕获多个异常
    //如果要捕获多个异常 要从小到大的捕获
    System.out.println("输入的数据有误,程序发生异常");
}catch(Throwable e)
    finally { // 处理善后工作,无论是否发生异常都会执行 该区域可以不使用,但是try和catch必须得有 finally可以用来关闭流 资源等
    System.out.println("程序运行结束");
}

测试结果如下所示:

image

自定义异常

标签:体系,Exception,Java,错误,处理,捕获,异常
来源: https://www.cnblogs.com/xiaoqiuStu/p/16061779.html