Java异常类处理层次

异常处理与流的控制:Java异常类层次结构与捕获技术 本章深入探讨了Java异常处理机制,从Throwable的子类Error和Exception说起,展示了如何在Java程序中使用try-catch块来捕获和处理异常。通过具体的程序示例,说明了异常处理对于提高程序健壮性的重要性,并详细介绍了如何使用多个catch块捕获多种异常。 阅读详情

异常处理简介

     异常在java的开发中可能没有那么被重视。一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响。

     不过在企业级设计开发中,异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性。一个好的系统的异常对于开发者来说,处理应该统一,避免各处散落很多异常处理逻辑;对于系统 来说,异常应该是可控的,并且是易于运维的,某些异常出现后,应该有应对的方法,知道如何运维处理,所以虽然异常框架很简单,但是对于整个企业级应用开发来说,异常处理是很重要的,处理好异常就需要了解Java中的异常体系。

通常,Java的异常(包括Exception和Error)分为 可查的异常(checked exceptions)和不可查的异常(unchecked exceptions) 。 

1、可查异常(编译器要求必须处置的异常):

      正确的程序在运行中,很容易出现的、情理可容的异常状况 。 可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常状况,就必须采取某种方式进行处理。

      除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。

 2、不可查异常(编译器不要求强制处置的异常):

  包括运行时异常(RuntimeException与其子类)和错误(Error)。

需要掌握的知识点主要是: 

  1. 异常的体系: 
  2. Throwable 
  3. Exception 
  4. RuntimeException 
  5. Error 
  6. RuntimeException 和 一般 Exception 的区别, 具体处理方法等
处理异常java程序实验报告 这是java中处理异常的实验报告——在student类中,在addGrade的时候可能发生异常,比如加分后分数超过100或者小于0。在setName的时候也可能产生异常,比如设置name为空字符串,姓名中含有数字、字母或者符号(只允许使用中文),或者姓名的长度超过10个字符 立即下载

相关推荐

JAVA实验十一 异常处理与集合类

1、 为SavingsAccount类和CheckingAccout类的取款行为分别定义异常类NotEnoughBalanceException和OverdraftLimitExceededException,当SavingsAccount类中取款超过余额或者当CheckingAccount类产生透支超过最大额度时产生异常,并进行处理。注意异常在类的继承中的特殊性。 2、ArrayList类可以实现可变长数组。在实验四和实验五中,在银行类中使用数组存放客户,在客户类中使用数组存放帐号,客户和帐号的数量受到了限制,不能随意增加。修改程序,改用ArrayList来存放客户和帐号,最后测试你的程序。 【Account类代码(填写修改之处即可)】

【Java】异常类处理层次

异常处理简介      异常在java的开发中可能没有那么被重视。一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响。不过在企业级设计开发中,异常的设计与处理的好坏,往往就关系着这个系统整体的健壮性。一个好的系统的异常对于开发者来说,处理应该统一,避免各处散落很多异常处理逻辑;对于系统 来说,异常应该是可控的,并且是易于运维的,某些异常出现后,应该有应对的方...

weixin_33890526的博客 196

实验异常处理

(1) 掌握异常的概念及异常处理机制。 (2) 掌握try-catch-finally异常处理语句的使用。 (3) 熟悉用户自定义的异常及处理用户自定义异常的处理方法。

Java中的checked异常和unchecked异常

(一)Java的异常层次结构   要想明白Java中checked Exception和unchecked Exception的区别,我们首先来看一下Java的异常层次结构。   这是一个简化的Java异常层次结构示意图,需要注意的是所有的类都是从Throwable继承而来,下一层则分为两个结构,Error和Exception。其中Error类层次描述了Java运行时系统的内部错误和资源耗尽...

voodoo的博客 1万+

java异常处理

java的Exception需要你对一些存在的问题进行事先的规划,并对相应的Exception的情况进行设定,当程序捕获类似的情况就会抛出异常,你可以定义异常的处理方法。异常并不是致命的,它与错误有着区别,错误只要发生程序就会终止,但是异常会继续执行下去

PS/Ai/PR/AE等adobe出现正版弹窗提示:Your non-genuine Adobe app will be disabled soon解决办法

就是用专门的清理工具下载,清理工具在文章下方。然后新建三个空的记事本文件,重命名为 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。在该文件目录中,分别找到 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe,然后在防火墙入站规则里,阻止Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。

Q82556499的博客 1万+

开发中,异常通常在什么地方处理

建议Dao层,直接往上抛异常(一般都是数据库的运行时异常),Service层因为是暴露给其它应用的,并且会有很多业务信息需要传递给上层的调用者,所以这里有两种方式: 1.通过抛出业务异常来,告知调用方具体的业务异常信息/系统异常信息(系统异常,上层可能不会关注)。 2.Service中保证不会出现异常,并且返回一个Result给上层,Result里面包括的信息有:这次调用是否成功,如果失败会有一些业务信息。 所以不用层层都去抓异常,如果要处理就在Service中处理(不管是单应用还是以后的服务化),具

weixin_42118981的博客 1086

用VSCode搭建Vue.js开发环境及Vue.js第一个应用

用VSCode搭建Vue.js开发环境及Vue.js第一个应用

m0_61961937的博客 1万+

Controller 层返回值的公共包装类-避免每次都包装一次返回-InitializingBean增强

场景:在微服务中,一般返回数据都会有个返回码、返回信息和返回消息体,但是每次返回时候调用或者是封装,太过麻烦,有没有什么办法不用每次都封装呢? 答案是有的。 返回值对象 package com.study.auth.comm; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.Serialize..

hu10131013的博客 10万+

机器学习的学习准则(期望风险最小化、经验风险最小化、结构风险最小化)

要评价模型f(x, θ)的好坏,可通过期望风险R(θ)来衡量:求期望损失R(θ)不仅需要知道损失函数还需要知道真实分布,损失函数可以通过一定的准则计算得到,但是样本空间的真实分布是未知的。所以不能直接求R(θ)。期望风险R(θ)无法计算,给定一个训练集D =,我们可以计算经验风险,经验风险就是在训练集上的平均损失:为了解决过拟合问题,引入了参数正则化来限制模型的能力。使其不要过度的最小化经验风险。这种准则就是结构风险最小化准则

... 2222

BIDS数据存储格式介绍与dcm2bids安装与使用

BIDS格式&dcm2bids安装与使用

machinelearning_er的博客 7308

Java异常处理之异常类继承层次

目录一、异常类继承层次(1)Throwable类(2)Error和Exception(3)受检查异常和运行时异常 一、异常类继承层次 异常封装成为类Exception,此外,还有Throwable和Error类,异常类继承层次如图19-1所示。 (1)Throwable类 从图可见,所有的异常类都直接或间接地继承于java.lang.Throwable类,在Throwable类有几个非常 重要的...

蔡政洁的博客 7315

脑影像分析软件推荐 | JuSpace

JuSpace是一种允许基于 MRI 测量与核成像衍生估计的跨模态关联的工具包,它涵盖各种神经递质系统,包括多巴胺能、血清素能、去甲肾上腺素能和 GABA(γ-氨基丁酸) 神经传递。JuSpace 由一组 Matlab 功能以及涵盖各种受体系统的 PET 受体图谱组成。

NHKJ_ZF的博客 1706

c++ 标准异常类层次结构_Java 异常处理及其应用

Java 异常处理引出假设您要编写一个 Java 程序,该程序读入用户输入的一行文本,并在终端显示该文本。程序如下:1 import java.io.*;2 public class EchoInput {3 public static void main(String args[]){4 System.out.println("Enter text to echo:");5 InputStrea...

weixin_39910963的博客 131

Newton & Nvidia 开源 GPU 加速机器人仿真器入门教程(一)

Newton 是一个 GPU 加速、可扩展和可微分的物理仿真引擎,专为机器人、研究和高级仿真工作流而设计。Newton 基于 NVIDIA Warp 并集成了 MuJoCo Warp,为用户和开发人员提供了高性能仿真、现代 Python API 和灵活的架构。

机器人控制与仿真应用 1480

OpenClaw 股票自动化交易实践指南:从原理到实战的完整技术路径

量化交易策略的开发是一个系统工程,需要综合运用金融知识、编程技能和数据分析能力。OpenClaw通过引入提示词工程技术,大大降低了策略开发的技术门槛,使得更多投资者能够参与到量化交易中来。但技术只是工具,真正决定策略成败的是对市场的深刻理解和严格的风险管理。本章系统介绍了OpenClaw环境下的策略开发方法,从提示词驱动到传统代码实现,从参数优化到回测验证,涵盖了策略开发的完整流程。提示词驱动方式适合快速验证交易想法,传统代码方式适合实现复杂的定制逻辑,两种方式可以协同使用,发挥各自的优势。

lovely_yoshino的博客 5989

java异常类层次结构

java 异常类层次结构图 所有异常类的公共父类是 Throwable 类. Throwable:有两个重要的子类 Exception(异常) Error(错误) Error(错误):程序无法处理的错误. ​ 表示运行应用程序中较严重的问题,大多数错误与代码编写者执行的操作无关,表示代码运行时 JVM 出现问题.比如,java 虚拟机运行错误(Virtua MachineError),当 JVM 不再有继续执行操作所需要的内存资源时,将出现 OutOfMemoryError.这些异常发生时,java 虚

cfsunsong的博客 939

YOLOv8【第十章:多任务扩展深度篇·第16节】车道线检测——基于 YOLOv8-Seg 的车道线分割与拟合!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1万+

Java 异常类层次结构及怎样设计一个高效合理的异常处理框架

在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中. 下面的图展示了Java异常类的继承关系. 图1 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为 CHecked Exception 是因为Java编

zhongwen7710的专栏 3341

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java异常类_Java异常类

异常类层次结构异常类层次结构从java.lang.Throwable类开始。当抛出异常时,它必须是Throwable类的对象或其任何子类。catch块的参数必须是Throwable类型或其子类,例如:Exception,ArithmeticException,IOException等。可以通过继承一个异常类类来创建自己定义的异常类。组织排列多个catch块Java运行时选择适当的catch块,并从...

weixin_30366435的博客 158

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

c++ 标准异常类层次结构_如何有效的处理 Java 异常三原则?

Java中异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错?在哪出的错?为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们。有三个原则可以帮助你在调试...

weixin_39926402的博客 74

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java异常类层次结构?

用户可以通过继承ExceptionError:表示系统级错误,通常不应由应用程序捕获。Exception:表示可捕获的异常,其中又分为检查异常(需要显式处理)和运行时异常(不需要显式处理)。用户自定义异常:通过继承Exception来创建应用特定的异常。理解这些异常类的层次结构可以帮助我们更好地管理和处理Java中的异常。如果你有其他问题或需要更详细的解释,请随时问我!

java永无止境! 632

c++ 标准异常类层次结构_有效处理 Java 异常三原则,一文解除你的疑难杂症

Java中异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错?在哪出的错?为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们。有三个原则可以帮助你在调试...

weixin_39575758的博客 435

c++ 标准异常类层次结构_干货分享:关于Java异常处理机制深入理解

Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。异常简介在程序中,错误可能产生于程序员没有预料到的各种情况,或者超出程序员可控范围的环境,例如用户的坏数据、试图打开一个不存在的文件等。为了能够及时有效地处理程序中的运行错误,Java 专门引入了异常类。例 1为了更好地理解什...

weixin_39574287的博客 94
上一篇: JVM之几种垃圾收集器简单介绍
下一篇: 快速解读GC日志
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值