Java中的异常总结

news2024/9/9 1:36:20

异常的基本概念

  • 异常(Exception):表示程序在执行过程中出现的错误或异常情况。异常通常表示程序的非正常状态,需要处理以防止程序崩溃。
  • 错误(Error):表示虚拟机出现的严重问题,通常不应该被程序捕获,如内存溢出(OutOfMemoryError)。通常使用 Error 类及其子类来表示。

2. 异常类体系

  • Throwable:所有错误和异常的根类,分为两个主要子类:
    • Exception:所有可捕获的异常类的父类。可以分为两种类型:
      • Checked Exception(检查型异常):必须被显式捕获或声明抛出。例如 IOExceptionSQLException
      • Unchecked Exception(运行时异常):不需要被显式捕获或声明抛出。包括 RuntimeException 及其子类,如 NullPointerExceptionArithmeticException
    • Error:表示程序无法恢复的错误,如 OutOfMemoryErrorStackOverflowError

3. 异常处理

3.1. 异常的抛出(throw

使用 throw 关键字抛出一个异常实例

3.2. 异常的捕获(try-catch

使用 try-catch 语句块来捕获并处理异常

3.3. 异常的处理(finally

finally 块用于执行清理操作,无论是否发生异常都会执行

3.4. 异常的声明(throws

在方法签名中使用 throws 声明该方法可能抛出的异常

4. 自定义异常

你可以创建自己的异常类,通常继承自 ExceptionRuntimeException

public class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

使用自定义异常:

public void validate(int age) throws CustomException {
    if (age < 0) {
        throw new CustomException("Age cannot be negative");
    }
}

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

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

相关文章

办公人导航-一个资源丰富的网站

办公人导航是一个资源丰富的网站&#xff0c;旨在为办公人员提供各种优质资源和工具&#xff0c;以提高工作效率和生活质量。 ★★★★★办公人导航&#xff1a;https://www.bgrdh.com/ 这个网站涵盖了以下几个方面&#xff1a; 综合性的导航平台&#xff1a;办公人导航集成了…

机械学习—零基础学习日志(高数15——函数极限性质)

零基础为了学人工智能&#xff0c;真的开始复习高数 这里我们将会学习函数极限的性质。 唯一性 来一个练习题&#xff1a; 再来一个练习&#xff1a; 这里我问了一下ChatGPT&#xff0c;如果一个值两侧分别趋近于正无穷&#xff0c;以及负无穷。理论上这个极限值应该说是不存…

虹科技术前沿 | TSN网络中时间感知整形器的性能验证实测

来源&#xff1a;虹科技术前沿 | TSN网络中时间感知整形器的性能验证实测 原文链接&#xff1a;https://mp.weixin.qq.com/s/h3hTRAAEVN42DjDRifGxnA 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #时间敏感网络 #TSN #时间感知整形器 导读 本文旨在验证时间敏感…

vscode搭建rust开发环境

由于rustrover不是免费的&#xff0c;此处教学搭建一套基于vscode的rust开发环境&#xff0c;可运行&#xff0c;可调式 1.下载vscode1.91.1 Download Visual Studio Code - Mac, Linux, Windows 2.下载插件 打开网站下载插件 rust-analyzer-0.4.2049、vscode-lldb-1.10.0、…

SQL数据库如何修改表中栏位的长度

1.问题 已经建立的表中MEMO 栏位原来长度是20&#xff0c;随着使用需要将MEMO长度调整为200&#xff1b; 即 MEMO VARCHAR&#xff08;20&#xff09; → MEMO VARCHAR(200&#xff09; 2.修改办法 -- ALTER TABLE 表名 ALTER COLUMN 栏位名字 类型(长度);ALTER T…

java通过poi解析word入门

文章目录 介绍一、了解word docx文档的结构二、引入POI的依赖三、解析Word文档常用API加载Word文档获取文档整体结构获取文档中的段落获取文档中的表格获取文档中的脚注 四、解析Word中的段落示例五、读取Word文档并遍历图片六、解析Word中的图片示例 介绍 Apache POI 是一个处…

6. 运行时数据区-程序计数器和栈帧

运行时数据区分类 Java虚拟机在运行Java程序过程中管理的内存区域&#xff0c;称之为运行时数据区。运行时数据区分为两大类&#xff0c;线程共享和线程不共享&#xff0c;线程共享的有&#xff1a; 方法区堆 线程不共享的有&#xff1a; 程序计数器Java虚拟机栈本地方法栈…

收银系统源码-会员营销

系统概况 专门为零售行业的连锁店量身打造的收银系统&#xff0c;适用于常规超市、生鲜超市、水果店、便利店、零食专卖店、服装店、母婴用品、农贸市场等类型的门店使用。同时线上线下数据打通&#xff0c;线下收银的数据与小程序私域商城中的数据完全同步&#xff0c;如商品…

Luma AI发布文生视频大模型Dream Machine——可免费在线试玩

Sora模型的文生视频能力&#xff0c;想必一定惊艳过你。虽然Sora模型很惊艳&#xff0c;但是并没有开放给普通大众。Luma AI发布文生视频大模型Dream Machine模型&#xff0c;可以免费供大家使用&#xff0c;任何人只要到Luma AI的官方网站&#xff0c;就可体验Luma AI的文生视…

vue3前端开发-小兔鲜项目-sku的实现

vue3前端开发-小兔鲜项目-sku的实现&#xff01;这是一个会计学的特殊专业名词&#xff0c;可以理解为产品的型号&#xff0c;规格的货品计量单位。 它是一组数据的混合体。比如&#xff1a;尺寸&#xff0c;材料&#xff0c;品质&#xff0c;等等。组合在一起形成的一个混合数…

Java——多态(Polymorphism)

一、多态 1、什么是多态 多态&#xff08;Polymorphism&#xff09;是面向对象编程的三大核心特性之一&#xff08;另外两个是封装和继承&#xff09;。多态性允许一个接口或基类的不同实现或子类以统一的方式处理。 二、方法多态 方法的多态性主要通过方法重载&#xff08…

Git原理与用法系统总结

目录 Reference前言版本控制系统Git的诞生配置Git配置用户名和邮件配置颜色配置.gitignore文件 Git的基础用法初始化仓库克隆现有的仓库添加暂存文件提交变动到仓库比较变动查看日志Git回退Git重置暂存区 Git版本管理重新提交取消暂存撤销对文件的修改 Git分支Git分支的优势Git…

2024年中小企业为何更需要找百度竞价托管代运营公司

企业间的竞争日益激烈&#xff0c;网络营销已成为企业获取市场份额、提升品牌知名度的关键途径。而在众多网络营销手段中&#xff0c;百度竞价推广因其高效、精准的特点&#xff0c;成为众多企业的首选。然而&#xff0c;随着市场竞争的加剧和百度竞价规则的不断调整&#xff0…

值得细读的8个视觉大模型生成式预训练方法

大语言模型的进展催生出了ChatGPT这样的应用&#xff0c;让大家对“第四次工业革命”和“AGI”的来临有了一些期待&#xff0c;也作为部分原因共同造就了美股2023年的繁荣。LLM和视觉的结合也越来越多&#xff1a;比如把LLM作为一种通用的接口&#xff0c;把视觉特征序列作为文…

年化27.9%,最大回撤-13.6%的可转债因子策略,结合机器学习特征筛选(附python代码)

原创文章第603篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 我们重新更新了可转债的全量数据&#xff0c;包含全量已经退市的转债。 ——这是与股票市场不一样的地方&#xff0c;股票退市相对少&#xff0c;而转债本身就有退出周期。 因此&…

喝奶 (全脂 抵脂肪 脱脂 )

鲜牛奶就是全脂的. 婴儿配方奶粉, 脂肪含量就高 全脂牛奶通常口感更浓郁&#xff0c;适合许多人的口味偏好, 全脂牛奶含有较高的脂肪含量&#xff0c;这有助于提供能量和饱腹感,从而减少总体热量的摄入, 有研究指出&#xff0c;喝全脂牛奶的儿童超重或肥胖的风险可能比喝低脂…

80端口被system占用 ,system进程是4!!!亲测-----解决

最近需要使用nginx&#xff0c;发现80端口北占用 正常情况下&#xff0c;查看那个进程占用&#xff0c;然后找到对应的程序&#xff0c;关闭对应的就可了。 使用 netstat 命令&#xff1a; 打开命令提示符&#xff08;以管理员身份&#xff09;。输入命令 netstat -ano | fi…

昇思25天学习打卡营第18天|ResNet50 迁移学习实战:从数据准备到模型构建

目录 环境配置 加载数据集 数据集可视化 构建Resnet50网络 固定特征进行训练 训练和评估 可视化模型预测 环境配置 MindSpore 库的版本管理和数据集的下载操作。首先&#xff0c;它卸载了已安装的 MindSpore 版本&#xff0c;并重新安装指定版本&#xff08;2.3.0rc1&…

帆软BI 模仿一个可视化护理软件大屏 (三百六十行 行行fine BI)

帆软BI 模仿一个可视化护理软件大屏 &#xff08;三百六十行 行行fine BI&#xff09; 文章目录 帆软BI 模仿一个可视化护理软件大屏 &#xff08;三百六十行 行行fine BI&#xff09;前言一、怎么做&#xff1f;二、导入数据三、编辑数据制作联合饼图四、编辑数据风险管理五、…

微短剧出海CPS分销推广影视平台系统搭建思维逻辑介绍

随着国内短剧市场的蓬勃发展&#xff0c;其独特的魅力与影响力已跨越国界&#xff0c;成为海外观众的新宠。这一趋势不仅推动了短剧内容的全球化传播&#xff0c;也为海外市场的CPS&#xff08;按销售分润&#xff09;分销模式提供了广阔舞台。连接内容创作者、平台运营者、系统…