Java异常处理机制详解:多层方法调用与异常传播(day23)

1.数组下标越界
在这里插入图片描述
2.多个处理异常
在这里插入图片描述
在这里插入图片描述
上面这两个代码的区别就是有无

System.out.println("抛出了NumberFormatException");  
    System.out.println("抛出了ArrayIndexOutOfBoundsException");  

第一种是不论捕获到哪种异常,都只会调用e.printStackTrace()方法,打印出异常的堆栈跟踪信息。
第二种是即使只有一个异常被抛出,也会输出两行提示信息,这可能会误导阅读代码的人,让他们以为两个异常都发生了。
3.捕获所有异常
在这里插入图片描述

4.throws关键字
在这里插入图片描述
这个代码示例展示了如何在Java中处理由方法调用链中的底层方法抛出的异常。通过在不同的方法层使用throws关键字和try-catch块,可以控制异常的传播和处理方式。在这个例子中,异常从底层funA传播到中间层funB,并最终在顶层funC中被捕获和处理。
4.throws语句
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用AI开源引擎:实现在消费者投诉处理中的智能分析|可本地化部署

随着消费者投诉渠道逐渐多样化,电话、网络等途径使得消费者的声音能够更加迅速地被职能部门所接收。然而,大量的投诉信息也给职能部门带来了巨大的处理压力。如何高效地从消费者投诉中抽取关键信息,并对这些信息进行分类和统计,成…

【主题广泛|稳定检索】2024年艺术与文化交流国际会议 (ICACE 2024)

2024年艺术与文化交流国际会议 (ICACE 2024) 2024 International Conference on Art and Cultural Exchange 【会议简介】 2024年艺术与文化交流国际会议即将在魅力四溢的山城重庆隆重召开。本次会议旨在汇聚全球艺术与文化领域的专家学者,共同探讨艺术与文化交流…

git 学习 2

在vscode上使用git,下载git-graph 图形化操作 不同的分支,被激活的时候叫checkout。在vscode上生成新分支会默认checkout新分支。可以在终端用 git checkout main回到主分支,用git switch命令更好 你在main上提交了修改,切回dev…

lua学习笔记19(面相对象学习的一点总结)

print("*****************************面相对象总结*******************************") object{} --实例化方法 function object:new()local obj{}self.__indexselfsetmetatable(obj,self)return obj end-------------------------如何new一个对象 function object:…

51单片机 DS1302

DS1302 实现流程 将提供的ds1302底层参考程序拷贝到工程下 注意在ds1302.c中可能硬件引脚没有定义,注意去看一下。还有头文件什么的在ds1302中记得加上 参考代码: #include "reg52.h" #include "ds1302.h"unsigned char Write_…

docker 安装canal

一、新建文件夹 新建文件夹logs, 新建文件canal.properties instance.properties docker.compose.yml canal.propertie 修改如下: 修改instance.properties内容如下 1.1 canal.properties ################################################# ######### …

Day:006(1) | Python爬虫:高效数据抓取的编程技术(爬虫工具)

selenium介绍与安装 Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器&am…

Microsoft Office LTSC 2021企业办公新标杆,稳定高效助力业务发展

Microsoft Office LTSC 2021包含Word、Excel、PowerPoint等常用组件,支持实时共享和智能转换功能,允许多个用户同时编辑文档,提高了团队协作效率。还加强了安全性和隐私保护,通过加密协议和安全验证等方法,有效防止了恶…

MySQL一些特殊功能的索引(6/16)

特殊功能性索引 B-Tree索引: InnoDB的默认索引类型,适用于多种查询操作。 可以用于等值查询、范围查询和索引列的组合查询。 创建B-Tree索引的示例: CREATE INDEX index_name ON table_name (column1, column2);全文索引(FULLTEX…

如何将PHP的Webman框架打包成二进制文件运行

看了看webman的官方文档,发现居然还能打包为二进制,这样太厉害了吧! 先执行这个 composer require webman/console ^1.2.24 安装这个console的包,然后 执行 php webman build:bin 8.1 结果谁想到它报错提示: 好…

Microsoft Maia

这把写一个更冷门的,受限于鄙人工作的原因,我可能得当一回谜语人,在不违规的情况下,尽量给大家解密Maia的一些特性(这种我写起来,就很难受...) 是的就是这个芯片,Asic The Maia 100 is the first in a series of Maia accelerators for AI, the company said. With 105…

【鹅厂摸鱼日记(二)】(生活篇)初到深圳的人情冷暖

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:重生之我在鹅厂摸鱼⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多知识   🔝🔝 摸鱼日记 1. 前言2. 鹅厂的人文关怀…

缓存策略以及如何选择正确的策略

正确地使用缓存可以减少系统响应的时间,降低数据库负载,反之可能带来相反的效果。因此,就必须了解有哪些缓存策略,以及如何根据实际使用场景选择合适的缓存策略。 缓存策略取决于数据和数据访问模式,即,数…

ubuntu配置网关-虚拟服务器修改配置文件修改IP

ubuntu配置网关-修改ip - jason47 - 博客园 (cnblogs.com) 修改netplan的文件 sudo vim /etc/netplan/01-network-manager-all.ymal 20.04版本 1. 查询当前使用的网卡 使用的是ens160 2. 修改配置,进入/etc/netplan 找到ens160的配置是在99-netcfg-vmware.yaml文…

设计模式系列:简单工厂模式

作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS二次开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397) 目录 定义 特点 使用场景 优缺点 (1) 优点…

使用Pandas解决问题:对比两列数据取最大值的五种方法

目录 一、使用max方法 二、使用apply方法结合lambda函数 三、使用np.maximum函数 四、使用clip方法 五、使用where方法结合条件赋值 总结: 在数据处理和分析中,经常需要比较两个或多个列的值,并取其中的最大值。Pandas库作为Python…

Pixel-GS:用于3D高斯溅射的具有像素感知梯度的密度控制

Pixel-GS: Density Control with Pixel-aware Gradient for 3D Gaussian Splatting Pixel-GS:用于3D高斯溅射的具有像素感知梯度的密度控制 Zheng Zhang  Wenbo Hu†  Yixing Lao   老宜兴市郑张文博胡 † Tong He  Hengshuang Zhao† 赵同和恒双 †1122113311 …

车机手机互联不同屏幕尺寸大小解决方案成果展示

背景 hi,粉丝朋友们: 大家好!上一篇文章分享了一个云手机车机互联实现的简单demo,文章链接如下: https://mp.weixin.qq.com/s/lihQHSd-zBIPeVa0WiP1pg 这个主要实现是同一个屏幕大小尺寸的投屏情况,即和车…

Three.js在3D可视化领域大展拳脚,不接受反驳。

three.js在3D可视化领域中起到了重要的作用。它是一个基于JavaScript的轻量级、跨平台的3D图形库,提供了丰富的功能和工具,用于创建和展示各种3D场景、动画和效果。 以下是three.js在3D可视化领域的主要作用: 创建交互式的3D场景&#xff1a…

项目从 Mysql切换 PostgreSQL 改造及踩坑记录

0、前言 原项目框架 SpringBoot MybatisPlus Mysql 1、切换流程 1.1、项目引入postgresql驱动包 由于我们要连接新的数据库&#xff0c;理所当然的要引入该数据库的驱动包&#xff0c;这与mysql驱动包类似 <dependency><groupId>org.postgresql</groupId…