编程语言
首页 > 编程语言> > 2022-07-29 java之异常

2022-07-29 java之异常

作者:互联网

目录

一、异常

1. 异常的概念

异常,是不正常的意思 ,程序中执行过程中,出现了非正常情况,严重会导致JVM的非
正常停止。
在Java面向对象编程中,把异常视为一个对象,可以把异常定义成一个类。
产生异常就是要创建一个异常对象并抛出一个异常对象。
异常并不是指语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运
行。

2. 异常体系

异常的根类是:java.lang.Throwsable
其下有两个类:java.lang.Error和java.lang.Exception,,平时异常就是指Exception

3.图解异常处理的流程

在这里插入图片描述

4.异常处理

1.抛出异常throw

在Java中,提供一个throw关键字,它用来抛出异常对象

2.捕获异常try{}catch{}

3 声明异常throws

声明异常:将问题标识出来,给调用者,如果不对异常立即处理,你需要声明出,交给
调用者来处理。

4. finally代码块

finally:不管程序是不是出异常了,finally块中代码必须执行
无论什么时侯代码必须最终执行
一般在创建流,使用流之后 ,用来关闭流

5.一次捕获多个异常多次处理的方式

try{
read("b.txt");
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}
finally {
System.out.println("不管理程序怎样,
这里都将被执行");
}

5.自定义异常实例

  1. 自定义一个编译期异常,自定义类,继承于Exception
  2. 自定义一个运行期异常类,并继承于 RuntimeException

6.面试题

面试题1: throws 和 throw的区别(记忆)

throws

throw


位置不同:
throws 用方法上,后面跟的是异常类,可以跟多个;
而 throw 用在方法内,后面跟的 是异常对象。 throw new ...

功能不同:
throws 声明 异常,表示出现异常的一种可能性,并不一定会发生这些异常;throw 则是抛出
了异常,
执行 throw 则一定抛出了某种异常对象

面试题2: 编译期异常 和 运行时异常的区别(记忆)

编译期异常(checked)异常:

运行期异常(runtime)异常:

面试题3:Java的异常体系Error和 Exception的区别和联系
在这里插入图片描述

标签:面试题,java,07,自定义,抛出,编译,2022,异常,throw
来源: https://www.cnblogs.com/beibei725/p/16534015.html