【Java 问题】基础——异常

news2024/9/27 12:03:29

接上文

异常

  • 39.Java 中异常层级结构?
  • 40.异常的处理机制?
  • 41.三道经典异常处理代码题

39.Java 中异常层级结构?

Java的异常是分为多层的。
在这里插入图片描述
Throwable 是 Java 语言中所有错误或异常的基类。 Throwable 又分为 Error 和 Exception ,其中Error是系统内部错误,比如虚拟机异常,是程序无法处理的。 Exception 是程序问题导致的异常,又分为两种:

  • CheckedException受检异常:编译器会强制检查并要求处理的异常。
  • RuntimeException运行时异常:程序运行中出现异常,比如我们熟悉的空指针、数组下标越界等等

40.异常的处理机制?

针对异常的处理主要有两种方式:

在这里插入图片描述

  • 遇到异常不进行具体处理,而是继续抛给调用者 (throw,throws)

抛出异常有三种形式,一是 throw,一个 throws,还有一种系统自动抛异常。

throws 用在方法上,后面跟的是异常类,可以跟多个;而 throw 用在方法内,后面跟的是异常对象。

  • try catch 捕获异常

在catch语句块中补货发生的异常,并进行处理。

在这里插入图片描述
try-catch捕获异常的时候还可以选择加上finally语句块,f inally语句块不管程序是否正常执行,最终它都会必然执行

41.三道经典异常处理代码题

在这里插入图片描述
执行结果:31。

try、catch。ϐ inally 的基础用法,在 return 前会先执行 ϐ inally 语句块,所以是先输出finally 里的 3,再输出 return 的 1

在这里插入图片描述
try 返回前先执行 finally,结果 finally 里不按套路出牌,直接 return 了,自然也就走不到 try 里面的 return 了。

在这里插入图片描述
大家可能会以为结果应该是 3,因为在 return 前会执行 ϐ inally,而 i 在 finally 中被修改为 3 了,那最终返回 i 不是应该为 3 吗?

但其实,在执行 finally 之前,JVM 会先将 i 的结果暂存起来,然后 ϐ inally 执行完毕后,会返回之前暂存的结果,而不是返回 i,所以即使 i 已经被修改为 3,最终返回的还是之前暂存起来的结果 2。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2169925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从‘盲管’到‘智网’,漫途精准构建排水管网监测方案

在城市错综复杂的基础设施网络中,排水管网作为城市的“血脉”,其高效、稳定运行直接关系到城市生活的安宁与财产的安全。面对日益频繁的雨季挑战与气候变化的不确定性,传统“盲管”管理模式已难以满足现代城市治理的需求。 漫途排水管网监测…

本地Docker部署高颜值跨平台照片管理软件lmmich并远程上传图片

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 本篇文章介绍如何在本地搭建lmmich图片管理软件,并结合cpolar内网穿透实现公网远程访问到局域网内的lmmich&#…

Python新手学习过程记录之基础环境:环境变量、版本区分、虚拟环境

https://img-blog.csdnimg.cn/img_convert/0604267530a515112e51dfc80d0b0ee7.png 刚开始接触Python并学习一门开发语言,可能就会遇到一些棘手的问题,比如电脑上不知不觉已经安装了多个python版本,python3.8/3.10/3.11,甚至一些软件中也集成有python解释器;那么我编…

c语言:知识补充

c语言中编译开始会对#define&#xff0c;#include等内容做预处理&#xff0c;可以用#define写一些简单函数&#xff0c;方便使用 #include <stdio.h> #include <stdlib.h>#define MAX(A, B) ((A) > (B) ? (A) : (B))int main(){printf("%d\n", MAX(…

【Java 集合】List接口 —— ArrayList 与 LinkedList 详解

List接口继承自Collection接口&#xff0c;是单列集合的一个重要分支。 在List集合中允许出现重复的元素&#xff0c;所有的元素是以一种线性方式进行存储的&#xff0c;在程序中可以通过索引&#xff08;类似于数组中的元素角标&#xff09;来访问集合中的指定元素。另外&…

onload_tcpdump命令抓包报错Onload stack [7,] already has tcpdump process

最近碰到Onload 不支持同时运行多个 tcpdump 进程的报错&#xff0c;实际上使用了ps查询当时系统中并没有tcpdump相关进程存在。需要重启服务器本机使用onload加速的相关进程后才能使用onload_tcpdump正常抓包&#xff0c;很奇怪&#xff0c;之前确实没遇到这样的问题&#xff…

生成速度提升70%,32K版本上新,讯飞星火API全新升级!

从“通用”到“真正有用”&#xff0c;大模型应用价值正在释放&#xff01;在C端&#xff0c;AI会议、AI绘图、AI音乐、AI PPT、AI视频等新兴应用层出不穷。在B端&#xff0c;大模型在智能客服、智能营销、知识问答等场景中的应用效果开始显现。 对于绝大多数AI开发者和中小型…

easyExcel使用模版填充excel,合并单元格

一、最终效果 二、制作模版 1、制作填充模版 模版在代码中保存的位置 2、Controller /*** 下载模板*/ RequestMapping(value "exportData") public void exportData(KqKqb kqKqb,HttpServletResponse response, HttpServletRequest request) throws IOExceptio…

大模型时代,程序员能保住头发吗?

10月24日&#xff0c;位于安徽合肥的奥林匹克体育中心&#xff0c;正在举行一场大型科技峰会&#xff0c;奔涌而入的人潮&#xff0c;很快就将主会场挤了个满。这是科大讯飞主办的第六届世界声博会暨2023全球1024开发者节的现场。自2017年以来&#xff0c;这家公司每年都会在10…

如何选择高品质SD卡

如何选择高品质SD卡 SD卡&#xff08;Secure Digital Memory Card&#xff09;是一种广泛使用的存储器件&#xff0c;因其快速的数据传输速度、可热插拔的特性以及较大的存储容量&#xff0c;广泛应用于各种场景&#xff0c;例如在便携式设备如智能手机、平板电脑、运动相机等…

修改timeout问题

1. vad超时时间为10s&#xff0c;10s会出现一个空识别。 解决办法一&#xff1a; 修改/usr/aispeech/conf/duiPlus.cof中的的vad下面的timeout为100000 传给duiPlusNew的vad.timeout要增加&#xff0c;暂时设置为100000&#xff0c;注意单实例配置、多实例配置只需要设置子实例…

【算法】DFS 系列之 穷举/暴搜/深搜/回溯/剪枝(上篇)

【ps】本篇有 9 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;全排列 .1- 题目解析 .2- 代码编写 2&#xff09;子集 .1- 题目解析 .2- 代码编写 3&#xff09;找出所有子集的异或总和再求和 .1- 题目解析 .2- 代码编写 4&#xff09;全排列 II…

PostgreSQL 17 发布了!非常稳定的版本

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…

springboot+大数据基于数据挖掘的招聘信息可视化大屏系统【内含源码+文档+部署教程】

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

以到手价为核心的品牌电商价格监测

在当今竞争激烈的电商时代&#xff0c;品牌的价格监测至关重要。传统的页面价监测已无法满足品牌对渠道管控的需求&#xff0c;而到手价监测则成为品牌控价的关键所在。 力维网络&#xff0c;作为深耕数据监测服务多年的专业机构&#xff0c;拥有自主开发的数据监测系统&#…

对spring框架的搭建进行封装---springboot

目录 一.回顾spring 二.springboot概述 三.springboot的特点 四.springboot环境搭建 五.springboot配置文件 六.springboot数据访问管理 七.springboot注解 八.springboot集成mybatis 九.springboot全局异常捕获与处理 一.回顾spring 优点 开源,轻量级,非侵入式的一站式…

Springboot + netty + rabbitmq + myBatis

目录 0.为什么用消息队列1.代码文件创建结构2.pom.xml文件3.三个配置文件开发和生产环境4.Rabbitmq 基础配置类 TtlQueueConfig5.建立netty服务器 rabbitmq消息生产者6.建立常规队列的消费者 Consumer7.建立死信队列的消费者 DeadLetterConsumer8.建立mapper.xml文件9.建立map…

Visual Studio导出动态库

1、创建新项目&#xff0c;选择如下 2、工程目录结构如下 3、编写pch.h文件&#xff0c;内容如下 // pch.h: 这是预编译标头文件。 // 下方列出的文件仅编译一次&#xff0c;提高了将来生成的生成性能。 // 这还将影响 IntelliSense 性能&#xff0c;包括代码完成和许多代码浏…

AI驱动TDSQL-C Serverless 数据库技术实战营-融合智能体与TDSQL-C技术,高效实现二手房数据查询与分析应用

文章目录 什么是TDSQL-C技术创新算力服务器与数据库服务器申请与部署购买 TDSQL-C Mysql Serverless 实例购买HAI高算力服务器 准备工作准备数据下载依赖 案例研发创建数据库写入数据智能体与TDSQL-C 的结合应用第一步配置llama3.1第二步代码开发运行应用测试应用 总结 什么是T…

戏曲多多 1.0.6.0 专为电视端设计的戏曲与生活内容APP,同样适用于安卓手机,方便老年人使用

戏曲多多是一款专为电视端设计的应用程序&#xff0c;也可安装在安卓手机上&#xff0c;特别适合不会使用手机的老年人。该应用包含戏曲、红歌、儿歌、老电影等丰富内容&#xff0c;非常适合老年人的观看喜好。此外&#xff0c;还有广场舞教学、养生太极教程&#xff08;包括太…