2022-07-29 java之异常
一、异常
1. 异常的概念
异常,是不正常的意思 ,程序中执行过程中,出现了非正常情况,严重会导致JVM的非
正常停止。
在Java面向对象编程中,把异常视为一个对象,可以把异常定义成一个类。
产生异常就是要创建一个异常对象并抛出一个异常对象。
异常并不是指语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运
行。
2. 异常体系
异常的根类是:java.lang.Throwsable
其下有两个类:java.lang.Error和java.lang.Exception,,平时异常就是指Exception
3.图解异常处理的流程
4.异常处理
1.抛出异常throw
在Java中,提供一个throw关键字,它用来抛出异常对象
- 创建一个异常对象 throw new 异常对象
- 需要将这个异常通知给调用者,怎么告诉对方,通过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.自定义异常实例
- 自定义一个编译期异常,自定义类,继承于Exception
- 自定义一个运行期异常类,并继承于 RuntimeException
6.面试题
面试题1: throws 和 throw的区别(记忆)
throws
- 用在方法声明之后,跟的是异常类名
- 表示声明异常,由该方法的调用者来处理
- 表示出现该异常可能性,并不一定会发生异常
throw
- 用在方法体内,跟的异常对象名(new Exxx())
- 表示抛出异常,由方法体内的语句来处理
- 执行throw 一定抛出了某种异常
位置不同:
throws 用方法上,后面跟的是异常类,可以跟多个;
而 throw 用在方法内,后面跟的 是异常对象。 throw new ...
功能不同:
throws 声明 异常,表示出现异常的一种可能性,并不一定会发生这些异常;throw 则是抛出
了异常,
执行 throw 则一定抛出了某种异常对象
面试题2: 编译期异常 和 运行时异常的区别(记忆)
编译期异常(checked)异常:
- 在编译时期,就会检查,如果没有处理异常,则编译失败
- 都是Excetion类及其子类
运行期异常(runtime)异常:
- 在运行时期,检查异常,在编译时期不会报错
- 都是RuntimeException类及其子类
面试题3:Java的异常体系Error和 Exception的区别和联系
2022-07-29 java之异常的更多相关文章
- Java并发编程:Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- 【转】Java ConcurrentModificationException异常原因和解决方法
原文网址:http://www.cnblogs.com/dolphin0520/p/3933551.html Java ConcurrentModificationException异常原因和解决方法 ...
- 9、Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- Java基础 - 异常详解
异常的层次结构 Throwable Throwable 是 Java 语言中所有错误与异常的超类. Throwable 包含两个子类:Error(错误)和 Exception(异常),它们通常用于指示 ...
- java的异常
下面是我对Java异常知识的几个小总结,也算是资源回收一下 一.Java异常的知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运 ...
- 《java中异常和错误》
异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...
- Atitit java的异常exception 结构Throwable类
Atitit java的异常exception 结构Throwable类 1.1. Throwable类 2.StackTrace栈轨迹1 1.2. 3.cause因由1 1.3. 4.Suppres ...
- Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- java 异常
异常简介 java中有Error和Exception Error:是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行操作无关,而表示运行时JVM出现的问题. Excepti ...
- Java基础——异常体系
在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. ...
随机推荐
- 基于DEM的坡度坡向分析
坡度坡向分析方法 坡度(slope)是地面特定区域高度变化比率的量度.坡度的表示方法有百分比法.度数法.密位法和分数法四种,其中以百分比法和度数法较为常用.本文计算的为坡度百分比数据.如当角度为45度 ...
- Angular中懒加载一个模块并动态创建显示该模块下声明的组件
angular中支持可以通过路由来懒加载某些页面模块已达到减少首屏尺寸, 提高首屏加载速度的目的. 但是这种通过路由的方式有时候是无法满足需求的. 比如, 点击一个按钮后显示一行工具栏, 这个工具栏组 ...
- 大陆出境海缆TPE APCN NCP APG简介
目前我国的登陆站主要设立在三个城市 山东 山东青岛登陆站(隶属中国联通) EAC-C2C TPE(美国方向) 上海 上海崇明登陆站(隶属中国电信) APCN2(亚太) NCP(长线--美国,新建,亚太 ...
- 830. Positions of Large Groups - LeetCode
Question 830. Positions of Large Groups Solution 题目大意: 字符串按连续相同字符分组,超过3个就返回首字符和尾字符 思路 : 举例abcdddeeee ...
- linux篇-Linux MBR分区、挂载操作步骤,逻辑卷扩容操作
Linux MBR分区.挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区.格式化.挂载后才能使用:linux主分区和拓展分区总数不能超过4个 ...
- Python模块Ⅱ
Python模块2 part3 模块的分类: 内置模块200种左右:python自带的模块,time os sys hashlib等 第三方模块6000种左右:需要pip install beauti ...
- vue 的个人学习小笔记
一.vite2.0+vue3.0+ts 创建.配置 个人公众号文章地址 个人github仓库地址 1.Vite 创建 vue3 项目: 1.1.npm 常用命令 1.npm 查看版本号 npm vie ...
- CabloyJS V3.2.0支持Socket IO
CabloyJS v3.2.0引入了Socket IO,并且实现了统一的在线推送和离线推送机制 效果演示 1. IM 用户向系统发送一条消息,系统通过websocket在线通道向用户推送一条回复 2. ...
- DYOJ 【20220317模拟赛】瞬间移动 题解
瞬间移动 题意 三维空间中从 \((0,0,0)\) 开始,每次移动 1,问刚好走 \(N\) 次能到 \((X,Y,Z)\) 的方案数 \(N\le10^7\),答案模 \(998244353\) ...
- Linux系列之安装JDK
卸载open jdk #查看jdk [root@localhost tools]# rpm -qa | grep jdk java-1.8.0-openjdk-headless-1.8.0.65-3. ...