四、异常(高琪java300集+java从入门到精通笔记)

本文详细介绍了Java的异常机制,包括运行时异常和已检查异常。阐述了捕捉异常的try-catch-finally结构,以及声明抛出异常的throws关键字和手动抛出异常的throw关键字。还提到了自定义异常需继承Exception或其子类,以及重写时子类异常范围要小于父类等要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常机制( 就是当程序出现错误,程序安全退出的机制):

  1. 异常:

在这里插入图片描述

  1. RuntimeException 运行时异常

    1. CheckedException
      已检查异常:如IOException、SQLException等以及用户自定义的Exception异常
  2. 捕捉异常(在当前方法中进行捕捉,然后处理该异常):try catch(先小后大) finally

try(用来存放的是可能发生异常的Java语句):一个try语句必须带有至少一个catch语句块和一个finally语句块

catch(用来激发被捕获的异常):常用方法,这些方法均继承自Throwable类。

Exception e(Exception是try代码块传递给catch代码块的变量类型,e是变量名)

     e.toString ()方法,显示异常的类名和产生异常的原因

     e.getMessage()方法,只显示产生异常的原因,但不显示类名。

     e.printStackTrace()方法,用来跟踪异常事件发生时堆栈的内容。

如果异常类之间有继承关系,在顺序安排上需注意。越是顶层的类,越放在下面,也就是先捕获子类异常再捕获父类异常。再不然就直接把多余的catch省略掉。

finally:1.通常在finally中关闭程序块已打开的资源,比如:关闭文件流、释放数据库连接等(注意顺序:先打开的最后关闭)。

2.即使try和catch块中存在return语句,finally语句也会执行。是在执行完finally语句后再通过return退出。

3.

finally语句块只有一种情况是不会执行的,那就是在执行finally之前遇到了System.exit(0)结束程序运行。(finally语句块中发生了异常、程序所在的线程死亡、关闭CPU)

  1. 声明抛出异常(当前方法并不需要处理发生的异常,而是向上传递(抛出)给调用它的方法(方法调用者)处理, 如果一个方法中可能产生某种异常,但是并不能确定如何处理这种异常,则应根据异常规范在方法的首部声明该方法可能抛出的异常。):throws

  2. 重写时注意子类异常范围小于父类

  3. 向上抛出后,方法调用者不想处理,还可继续向上抛出

  4. Error,RuntimeException或它们的子类,可以不throws,最终被系统抛出

  5. 手动抛出异常:throw:通常用于方法体中,程序执行到throw立即终止

一般在方法中手动抛出异常,该方法要throws给上一级(一般是main),main函数中调用该方法时要try-catch捕捉。

  1. 自定义异常

数中调用该方法时要try-catch捕捉。

  1. 自定义异常

    1. extends Exception或者他的子类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值