异常类的使用,作用,处理,自定义异常

自定义异常类:用户密码验证流程 创建自定义异常类是提升软件健壮性的重要手段。在本章节中,我们将深入探讨自定义异常类的创建步骤,包括理解异常类的层次结构、在Java和Python中如何创建自定义异常类,以及自定义异常类的基本构成要素。创建自定义异常类时需要遵循一些基本原则,以确保异常的可读性和可维护性:继承合适的基类:在Java中,如果自定义异常是一个检查型异常,应当继承自Exception类;如果是非检查型异常,则可以继承自。在Python中,几乎所有的自定义异常都继承自Exception类。 阅读详情

异常类的作用是为了完善java程序的健壮性,适当地处理异常有利于程序的正常进行。
异常在java中以类的方式存在,每个异常类都可创建对象,在发生异常jvm会自动new对象,并且将new的对象抛出,打印到控制台。

总的来说异常类(exception)的子类有两大类:
直接继承exception的是编译时异常
继承exception的子类runTImeException是运行时的异常

编译时异常是需要我们去处理的
运行时异常可以选择进行处理

对异常的处理包括两种方式:
在方法声明的时候使用throws关键字,抛给上一级
使用try…catch语句进行异常的捕捉

Throws的使用:
因为ClassNotFoundException 是编译时异常(父类是exception,而不是runtimeexception),不进行处理的话就会报错。
(此时main方法没有抛异常或捕捉异常,程序报错)

	public static void main(String[] args) {
    dosome(); //未进行处理,报错
}
public static void dosome() throws ClassNotFoundException{
}

此时main方法抛出异常:(一般不建议在main上抛出异常,程序会结束)为了程序的健壮性,一般main方法中的异常进行捕捉。

public static void main(String[] args) throws ClassNotFoundException{
    dosome(); //编译通过
}
public static void dosome() throws ClassNotFoundException{
}

进行异常捕捉:catch可以写多个,这样写有利于程序的调试。(建议一个异常写一个catch,如果catch后面写的是比较大的类。那么下一个catch只有比这类更大才行。Catch是从上往下依次匹配,类从小到大)

public static void main(String[] args){
    try {
        dosome();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch ( Exception c ){ 
    	c.printStackTrace();
  	} 
}
public static void dosome() throws ClassNotFoundException{
}

从jdk8开始catch支持:
catch( ClassNotFoundException | FileNotFoundException e){}
中间可以使用 逻辑运算符


如果一个方法抛出异常,则该方法就会结束(作用类似于return)


异常对象中的两个重要方法:

String getMessage(); 获取异常简单信息(异常类构造方法后面传的参数)

printStacklTrace(); 打印异常堆栈信息(常用)


关于try…catch中的finally语句:
在finally子句中的代码是最后执行的,并且一定会执行,即使try语句块中出现了异常。
finally子句必须和try同时出现,不能单独编写。

try{
}catch(Exception e){
	e.printStackTrace();
}finally{

}

通常在finally中完成资源的释放,即使try代码块出异常,finally也会执行(只有System.exit(0) 可以让finally不执行)


Try 可以和finally连用:

try {
    System.out.println("123");
    return;
}finally {
    System.out.println("456");
}    // 123     456

即使try中有return语句,finally也会执行


自定义异常(重点):java中提供的异常在实际开发中可能不够用
如何自定义:

  1. 编写一个类继承Exception或者RuntimeException
  2. 提供两个构造方法,一个无参,一个String参数的(接收简述信息)。
public class MyException extends RuntimeException{
    public MyException() {
        super();
    }
    public MyException(String message) {
        super(message);
    }
}
从数据同化到水文模拟:CMADS如何重塑SWAT模型的中国实践 本文探讨了CMADS数据集与SWAT模型在中国复杂地形水文模拟中的融合实践。CMADS通过高分辨率气象数据同化技术,显著提升了SWAT模型在中国特殊地理环境下的模拟精度,特别是在数据稀缺区域。文章详细分析了CMADS的技术架构、应用案例及与传统数据的性能对比,为水文研究提供了新的技术支撑。 阅读详情

相关推荐

Java对接快递鸟,查询快递物流信息

根据用户输入的订单号,我们的后台识别订单号并根据快递鸟查询快递API接口,实现自动查询的功能。下面是java版本的根据单号查询物流跟踪信息的详细示例代码。只需要下载就可以运行,(自己需要简单的修改)注:登录快递鸟用户管理后台后获得。登录快递鸟用户管理后台。

Roc的博客 957

Java 自定义异常

自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。 自定义异常的步骤: 一、创建自定义异常类 二、在方法中通过 throw 关键字抛出异常对象 三、使用 try-catch 语句捕获并处理异常 四、使用 throws 关键字抛出给方法的调用者处理该异常

【热血蜗牛】的博客 615

正交试验实战指南:从PICT工具到混合水平表应用

本文详细介绍了正交试验法在测试设计中的实战应用,从基础概念到PICT工具的高级使用技巧。通过混合水平表设计和工程化实践案例,帮助测试工程师高效解决参数组合爆炸问题,提升测试覆盖率与效率。特别适合兼容性测试和复杂系统验证场景。

weixin_29230865的博客 259

【Java】JAVA自定义异常的作用和格式(内涵简单代码示例)

自定义异常的作用 1.自定义异常可以对我们需要判断的某些异常做专门的捕获。比如空指针。或者数值转换异常。等等。我们都会根据对应的异常给予用户相应的提示信息。让用户知道自己是不是做错了什么操作。还有当我们捕获到对应的异常。那我们能够根据这个异常做相关的后续操作。

m0_64210833的博客 1884

工业级越界行为识别数据集:YOLOv8/v9直接训练的围栏异常检测资源

越界行为识别是智能安防与工业安全中的基础视觉任务,其核心在于对人员、车辆等目标跨越物理边界(如围栏、警戒线、作业禁区)的精准检测与分割。该技术依赖于高质量实例分割标注、归一化坐标格式及场景鲁棒性设计,具备低延迟、高召回、强泛化等工程价值,广泛应用于智慧工地电子围栏、化工厂禁区告警、物流园区越界监控及变电站安全巡检等真实工业场景。本数据集以YOLOv8/v9为基准构建,提供万张实拍+合成图像、像素级Segmentation标注、分层划分与完备元数据,开箱即用,直击工业落地中数据清洗、格式转换与标注不一致等关键

weixin_30080745的博客 316

VINS技术路线与代码详解

VINS技术路线 写在前面:本文整和自己的思路,希望对学习VINS或者VIO的同学有所帮助,如果你觉得文章写的对你的理解有一点帮助,可以推荐给周围的小伙伴们,当然,如果你有任何问题想要交流,欢迎随时探讨。话不多说,下面上正文。 VINS代码地址:https://github.com/HKUST-Aerial-Robotics/VINS-Mono 参考文档:1.VINS-Mono A R...

wangshuailpp的博客 7万+

【JavaSE专栏70】自定义异常,用户根据自己的需求创建的异常类

本文讲解了 Java 中自定义异常的概念,也演示了自定义异常的用法,并给出了样例代码,自定义异常是指用户根据自己的需求创建的异常类。

Designer 小郑的技术博客 3589

HC-05蓝牙模块详细配置、连接与使用过程

用手按着模块上的按键,再给蓝牙模块上电。当蓝牙模块上的灯慢闪的时候就说明进入了配置模式了。在配置蓝牙的时候一定要将串口助手按这个要求配置:设置波特率 38400,数据位 8 位,停止位 1 位,无校验位,这是固定操作! 根据蓝牙的主从模式进行不同的设置,二者主要区别就在于AT+ROLE这个指令如果这里没返回OK可能有一下几种情况:如果正常返回OK,那就可以进行下一步了 配置蓝牙密码的时候,特别是配置HC05,密码必须加双引号"",否则不能正常设置!!!! 给从机模式蓝牙配置好之后,将蓝牙重

qq_51688022的博客 2万+

自定义异常

为什么要使用自定义异常,有什么好处?1.我们在工作的时候,项目是分模块或者分功能开发的 ,基本不会你一个人开发一整个项目,使用自定义异常类就统一了对外异常展示的方式。2.有时候我们遇到某些校验或者问题时,需要直接结束掉当前的请求,这时便可以通过抛出自定义异常来结束,如果你项目中使用了SpringMVC比较新的版本的话有控制器增强,可以通过@ControllerAdvice注解写一个控制器增强类来拦...

爱码士 的博客 828

2019年上交电院计算机直博保研经历

本人选报的是上交六月一日在武汉举办的直博选拔,五月三十一日到达酒店,地点在武汉大学旁边(PS:上交是不管住宿、来回车票的,~划重点~包括夏令营),入住后当然是紧张的准备英语面试等等内容了,当天我是排在了下午面试,感觉还很好,上午可以多睡一会,最好能够去踩踩点上午,然后下午面试一定要早去,说是一点开始,但是老师十二点半就开始让学生进去了,有一个同学排在第二个,但是当时叫到他时还不到一点,没到,最后据...

LifeMaker的博客 4892

2026年5月典型AI应用落地

2026年5月AI应用全面进入商用化阶段,呈现三大特征:产业端深度渗透核心业务场景,如法律领域AI合同处理系统完成8500万元项目;消费端实现规模普及,京东618全场景AI化,智能家居产品涌现;基础设施层面运营商推出词元套餐降低使用门槛。政策法规与国际合作同步推进,日本通过首部AI专项法律,中国举办多场产业对接会。AI应用从技术验证转向实效产出,进入精算回报的成熟期。

AI_Encyc的博客 2630

Java:异常的概念及分类、异常的处理、异常抛出及自定义异常

异常概念 异常分类 Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一、异常的概念 什么是异常? 所谓异常是指在程序运行的过程中发生的一些不正常事件。(如除0溢出,数组下标越界,所要读取的文件不存在)。 异常导致的后果? Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息,并将其被提交...

m0_57089315的博客 4071

7.6 GPU页表更新机制

本文分析了AMDGPU驱动中BO到VA映射的页表更新实现机制。核心流程通过amdgpu_vm_bo_update()函数触发,支持CPU直接写入和SDMA异步命令两种更新模式。系统根据VRAM可见性自动选择最优更新策略,处理三种主要场景:命令提交、BO迁移和BO销毁。关键实现包括DMA地址数组处理、权限标志合并和BO迁移状态转换,最终通过amdgpu_vm_update_range()完成硬件页表更新。该机制有效平衡了更新延迟与吞吐量,为GPU虚拟内存管理提供基础支撑。

图形/计算GPU的驱动与虚拟化技术分享园地 2465

如何在Java中自定义异常类?

在Java中,您可以通过继承Exception类或者其子类来创建自己的异常类。这样做可以帮助您更好地管理和控制程序中可能出现的错误情况。定义异常类首先,您需要定义一个新的类,并使其继承自Exception或其子类。如果您想要创建的是一个非检查型异常(unchecked exception),那么应该继承自。// 构造函数super();添加额外信息您可以在自定义异常类中添加更多的属性和方法,以便在抛出异常时提供更多的上下文信息。使用自定义异常。

KKKL518的博客 9472

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

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

全局异常处理(简单模板)

注意:使用时,该类要和controller直接放在同一个包中,否则不起作用,原因暂时未知(各位大神如果知道,望告知,谢谢) 使用:使用时也可以自定义异常类,处理要特殊处理的情况 import com.itheima.entity.Result; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.spri...

Samopig的博客 481

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

异常类、自定义异常类的定义与使用,try{ }catch(){ }语句和throw关键字的执行流程

异常类的定义: 异常指:程序运行时可能出现的一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的操作流程,让程序有机会对错误做出处理; 1、Java使用 throw 关键字抛出一个 异常类(Exception) 或者 异常类的子类 的实例,表示异常的发生; 2、异常对象可以调用如下方法得到或输出有关异常的信息; public String getMessage(); pu...

LagerSwan的博客 6425

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java异常类

如果想要自定义一个异常类,则自定义的类就必须继承自Exceptionpublic class 自定义异常类名 extends Exception {// 内容// 自定义异常类// 测试try {if(!如果想添加自定义异常信息,需要提供一个有参构造函数,该构造函数使用一个String类型的message构造对象,此时会调用父类的构造函数,因为Exception类中存在对应的构造函数// 自定义异常类// 测试try {if(!

小何代码咖啡馆 1001

Java 自定义异常类

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34138521的博客 135

JavaSE 第四章 异常处理、自定义异常类

4. 异常 4.1 异常定义 异常:就是程序在运行的过程中遇到的种种不正常的情况。 特点:如果一个程序在运行中遇到了一个未经处理的异常,则这个异常会终止程序的运行。 但是如果程序出现的异常被处理了,此时程序不会被终止。所以我们需要知道怎么去处理异常。 其实在Java中,异常也是一个类。 4.2 异常类的体系 Throwable: 是所有的异常的根类 ​ Throwable: 它是所有错误与异常的超类 ​ |- Error 错误 ​ |- Exception 编译期异常,进行编译JAVA程序时出现的问题

学无止境,勤则可达;志存高远,恒亦能成! 397

java 重写异常类_java异常处理与自定义异常类

异常作用:在运行java代码时,如果有错是无法编译成功的,IDE会给出一串错误说明;如果编译通过,程序运行过程中,JVM检测出一个不可执行的操作,会出现运行时错误,IDE也会给出错误说明;这就是java异常类的作用。异常分类:java中的异常都是继承自Throwable类,Throwable类e的两个子类为Error与Exception。Exception有一个子类RuntimeException...

weixin_39831242的博客 807

Spring Boot 使用断言抛出自定义异常,优化异常处理机制

Spring Boot 使用断言抛出自定义异常,优化异常处理机制

赵士杰——成功并非一蹴而就,而是在持之以恒的努力中逐渐实现。 2870

【AI对话】在Springboot开发中,自定义异常类与GlobalExceptionHandler.java的作用

【AI对话】在Springboot开发中,自定义异常类与GlobalExceptionHandler.java的作用

m0_73867792的博客 999

java 自定义message类_Java 自定义异常类

类1:public class LogicException extends RuntimeException {//业务逻辑异常/**** @param message 异常信息*/public LogicException(String message) {super(message);}/**** @param message 异常信息* @param cause 当前异常的根本原因*/p...

weixin_39934613的博客 792

异常有什么用?要怎么办?可以处理吗?

异常处理提供了一种统一的方式来处理错误,避免了在每个可能出现错误的地方都编写大量的错误处理代码。例如,使用 “try-except” 语句块可以捕获多种类型的异常,而不需要为每种异常都编写单独的处理代码。异常处理机制可以使程序在面对这些异常情况时,依然能够保持一定的稳定性和可用性,提高程序的适应能力。异常处理提供了一种统一的方式来处理错误,避免了在每个可能出现错误的地方都编写大量的错误处理代码。:表示严重的问题,通常是 JVM 自身的问题,程序一般无法处理。如果希望自定义的异常是受检异常,就继承。

guidaoyikaiguan的博客 676

Java编写简单的自定义异常类

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/peanutwzk/article/details/78934392 异常关键字 1:try catch try catch是这之间所包含的代码如果出现异常时捕获他,并进行处理的,如果代码之间有错误,不会影响程序继续执行下去,程序会继续往后...

Garry 3590

java 所有的异常类_java异常类

当程序运行出现异常时,会退出程序结束运行而不至于让程序崩溃。1. 异常类所有异常的根类是java.lang.Throwable,其下有两个子类:Error和Exception。(1) ErrorError是程序无法处理的错误,表面系统JVM处于不可恢复的崩溃状态,此时错误与代码书写无关。如:内存资源不够时,将出现OutOfMemeoryError。(2) ExceptionException是程序...

weixin_39723010的博客 1781
上一篇: 关于finally的一道面试题
下一篇: IO流完成文件夹及里面的文件Copy
dxd_recordpath
博客等级 码龄7年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值