当前位置: 首页 > news >正文

深入理解Java异常处理机制(day20)

异常处理

异常处理是程序运行过程产生的异常情况进行恰当的处理技术
在这里插入图片描述
在计算机编程里面,异常的情况比所我们所想的异常情况还要多。
Java里面有两种异常处理方式;
1.利用try···catch···finaly语句处理异常,优点是分开了处理异常代码和程序正常代码,增强了程序的可读性,减少中途终止程序运行的可能带来的危害。

try {  // 尝试执行可能会抛出异常的代码  FileInputStream fis = new FileInputStream("nonexistent.txt");  // 其他可能抛出异常的代码...  
} catch (IOException e) {  // 处理IOException异常  e.printStackTrace(); // 打印异常的堆栈跟踪信息  // 其他异常处理逻辑...  
} finally {  // 无论是否发生异常,都会执行这里的代码  // 例如:关闭已打开的资源  
}

2.由Java的异常处理预设方式处理,一旦程序发生异常停止执行,并将错误信息发送给用户。

在这里插入图片描述
在Java中处理异常时,通常遵循以下几个原则

1.尽早捕获和处理异常,避免异常向上层传播。
2.根据具体情况选择合适的异常处理方式,如记录日志、回滚操作、提供默认值等。
3.对于可能抛出异常的方法,尽量在方法签名中声明它,以便调用者知道需要处理哪些异常。
4.避免在代码中抛出过多的非检查型异常,因为这可能会使代码难以理解和维护。

相关文章:

深入理解Java异常处理机制(day20)

异常处理 异常处理是程序运行过程产生的异常情况进行恰当的处理技术 在计算机编程里面,异常的情况比所我们所想的异常情况还要多。 Java里面有两种异常处理方式; 1.利用trycatchfinaly语句处理异常,优点是分开了处理异常代码和程序正常代码…...

Docker实战教程 第1章 Linux快速入门

2-1 Linux介绍 为什么要学Linux 三个不得不学习 课程需要:Docker开发最好在Linux环境下。 开发需要:作为一个后端程序员,是必须要掌握Linux的,这是找工作的基础门槛。 运维需要:在服务器端,主流的大型服…...

java数据结构与算法刷题-----LeetCode172. 阶乘后的零

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 数学:阶乘的10因子个数数学优化:思路转变为求5的倍数…...

掌握数据相关性新利器:基于R、Python的Copula变量相关性分析及AI大模型应用探索

在工程、水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克服的困难。例如,…...

Centos7环境下安装MySQL8详细教程

1、下载mysql安装包 下载哪个版本,首先需要确定一下系统的glibc版本,使用如下命令: rpm -qa | grep glibc ​​​​​​​ 2、检查是否安装过mysql ps:因为以前用yum安装过,所以先用yum卸载。如果不是此方式或者没安装过则跳过…...

趣学前端 | 综合一波CSS选择器的用法

背景 最近睡前习惯翻会书,重温了《HTML5与CSS 3权威指南》。这本书,分上下两册,之前读完了上册,下册基本没翻过。为了对得起花过的每一分钱,决定拾起来近期读一读。 CSS 选择器 在CSS3中,提倡使用选择器…...

数据库 06-04 恢复

01 一.事务故障 二.系统 三.磁盘 02. 重点是稳定存储器 组成...

基于MPPT的风力机发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1风能与风力发电机模型 4.2风力机功率特性与最大功率点 4.3 MPPT 5.完整工程文件 1.课题概述 基于MPPT的风力机发电系统simulink建模与仿真。MPPT使用S函数编写实现。基于最大功率点跟踪&#xff08…...

GD32F30x IO 复用问题

1.PE9 复用PWM 引脚 需要使能 gpio_pin_remap_config(GPIO_TIMER0_FULL_REMAP,ENABLE);...

BPMNJS 在原生HTML中的引入与使用

BPMNJS 在HTML中的引入与使用 在网上看到的大多是基于vue使用BPMN的示例或者教程,竟然没有在HTML使用的示例,有也是很简单的介绍核心库的引入和使用,并没有涉及到扩展库。于是简单看了下,真的是一波三折,坎坎坷坷。不…...

HarmonyOS 应用开发之通过数据管理服务实现数据共享静默访问

场景介绍 典型跨应用访问数据的用户场景下,数据提供方会存在多次被拉起的情况。 为了降低数据提供方拉起次数,提高访问速度,OpenHarmony提供了一种不拉起数据提供方直接访问数据库的方式,即静默数据访问。 静默数据访问通过数据…...

ubuntu强密码支持

接到新需求,欧盟需要ubuntu使用强密码,网络上找到一个包可以增加ubuntu密码增强机制,以下是调试过程。 sudo apt-get install libpam-pwquality 然后,编辑位于/etc/pam.d/目录中的common-password文件: sudo vim /et…...

C语言中文分词 Friso的使用教程

Friso是使用C语言开发的一款高性能中文分词器,使用流行的mmseg算法实现。完全基于模块化设计和实现,可以很方便的植入到其他程序中,例如:MySQL,PHP等。同时支持对UTF-8/GBK编码的切分。 官方地址:https://…...

MySQL中drop、truncate和delete的区别

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:每天一个知识点 ✨特色专栏&#xff1a…...

Deep Image Prior

自监督的开创性工作 从简单分布到复杂分布的映射,本质上是将重建限制到某一流形,在流形上通过观测图像的数据保真项作为监督。 称之为先验也是很准确,流形就是先验。 这个扰动也很关键,本质上一个平滑正则项。直观理解是各种扰动…...

leetcode148. 排序链表

方法1:插入方法进行改进 class Solution {public ListNode sortList(ListNode head) {/*想法:设置两个指针first,last分别指向当前有序子链表的头和尾节点;并遍历链表,当遍历到的节点值大于last的值时,就将该节点插入到有序子链表…...

【深度学习环境配置】一文弄懂cuda,cudnn,NVIDIA Driver version,cudatoolkit的关系

【深度学习环境配置】一文弄懂cuda,cuDNN,NVIDIA Driver version,cudatoolkit的关系 NVIDIA Driver version(NVIDIA驱动程序)CUDAcuDNNcudatoolkit深度学习环境配置顺序 今天突然发现配置的环境有些问题,意…...

C语言中的字符与字符串:魔法般的函数探险

前言 在C语言的世界里,字符和字符串是两个不可或缺的元素,它们像是魔法般的存在,让文字与代码交织出无限可能。而在这个世界里,有一批特殊的函数,它们如同探险家,引领我们深入字符与字符串的秘境&#xff0…...

【JAVASE】带你了解面向对象三大特性之一(继承)

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 1.继承 1.1 为什么需要继承 Java 中使用类对现实世界中实体来…...

Git 如何去使用

目录 1. Git暂存区的使用 1.1. 暂存区的作用 1.2. 暂存区覆盖工作区(注意:完全确认覆盖时使用) 1.3. 暂存区移除文件 1.4. 练习 2. Git回退版本 2.1. 概念 2.2. 查看提交历史 2.3. 回退命令 2.4. 注意 3. Git删除文件 3.1. 需求 …...

字节投2000亿、DeepSeek募500亿:国产AI算力军备竞赛进入“核弹级“对决

一、一条被低估的新闻2026年5月,当大多数人还在关注GPT-5.5的幻觉率降了多少个百分点时,中国AI产业发生了一件更具战略意义的大事——字节跳动宣布2026年AI基础设施资本支出超2000亿元,几乎同时,DeepSeek传出拟募资最高500亿元&am…...

【独家首发】Sora 2正式版未公开能力清单:原生支持3D空间锚点+时间轴语义编辑+版权水印嵌入(附OpenAI内部文档节选)

更多请点击: https://intelliparadigm.com 第一章:Sora 2正式版核心能力全景概览 多模态时序理解与生成一体化 Sora 2正式版突破性地将文本、图像、音频及物理运动参数统一编码至共享时空潜空间,支持长达120秒、1080p分辨率的连贯视频生成。…...

日本电子产业转型启示:从技术过剩到商业模式创新

1. 日本电子产业的十字路口:一场箱根闭门会背后的行业剧痛2013年的春天,当全球电子产业的聚光灯都打在硅谷和深圳时,日本箱根的一家温泉旅馆里,正进行着一场鲜为人知却意义深远的对话。索尼、瑞萨、NEC、日立、松下、富士通、Mega…...

为Claude Code配置Taotoken解决封号与Token不足困扰

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Claude Code配置Taotoken解决封号与Token不足困扰 应用场景类,针对频繁使用Claude Code作为编程助手但受限于官方限制…...

小白程序员必看:收藏这份AI黑话指南,轻松入门大模型世界!

本文用大白话解释了AI领域几个核心概念:AI是总称,LLM是推理模型,Agent能独立执行任务,MCP是标准化接口,Skills是技能包。文章通过生活化比喻和实例,帮助读者理解这些概念如何协同工作,实现高效自…...

深入T100系统腹地:拆解标准区、测试区与客制开发的协作逻辑

深入T100系统腹地:拆解标准区、测试区与客制开发的协作逻辑 在企业管理系统的复杂生态中,T100以其独特的四区架构和多环境协作机制,为企业的数字化转型提供了稳健的技术支撑。这套架构不仅关乎代码的流转,更是企业业务流程标准化与…...

观察Taotoken Token Plan套餐在长期项目中的成本控制效果

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察Taotoken Token Plan套餐在长期项目中的成本控制效果 对于需要长期、稳定调用大模型API的项目而言,成本的可预测性…...

Aegon协议:AI内容授权的可信审计架构解析

1. Aegon协议:AI内容授权的可信审计架构在AI内容爆炸式增长的今天,版权合规已成为行业核心痛点。传统授权方案存在三大致命缺陷:一是缺乏可验证的访问记录,二是无法追踪内容在AI处理流水线中的流转,三是移动端完全处于…...

oh-my-prompt:模块化、高性能的终端提示符配置方案

1. 项目概述:一个为现代开发者量身打造的终端提示符如果你和我一样,每天有超过一半的工作时间是在终端(Terminal)里度过的,那么终端提示符(Prompt)就是你最亲密的“工作伙伴”。它不仅仅是那个闪…...

从‘咖啡环’到‘热点’富集:超疏水表面如何将SERS检测灵敏度提升几个数量级?

从“咖啡环效应”到分子富集革命:超疏水表面如何重塑痕量检测极限 清晨的咖啡杯边缘总留下一圈深色痕迹,这个看似普通的日常现象背后,隐藏着改变分子检测游戏规则的物理机制。当科研人员将这种被称为"咖啡环效应"的液滴蒸发现象与表…...