java23--异常

异常

异常的基本概念

什么是异常

程序执行中发生的不正常情况就叫异常

例如除以0的计算就是异常

异常机制有什么用

出现异常的时候将不正常反馈打印出来,方便程序员对异常进行修改处理

出现的反馈信息叫异常信息,由jvm打印

java语言中异常以什么形式存在

异常在java中以类的形式存在,每一个异常类都能创建异常对象

异常的继承结构

Object

Object下由Throwable

Throwable下有Error(不可处理直接退出jvm)和Exception(可处理)

Exception下有Exception的直接子类(编译时异常)和RuntimeException(运行时异常)两个分支

编译时异常和运行时异常

编译时异常和运行时异常都在运行阶段发生,编译阶段不会发生异常,因为只有程序运行时才会new对象,异常的发生就是在new异常对象

为什么叫编译时异常?

因为编译时异常必须在编写阶段进行处理,不处理编译器会报错

一般发生的都是编译时异常

处理编译时异常就像是你觉得要下雨带了一把伞,概率高需要被预处理

而运行时异常的处理就像是你在路上可能会被鸟屎砸到带了一把伞,概率低,所以一般没必要进行预处理

java语言对异常处理的两种方式:

1.在方法声明的位置使用throws关键字,抛给上一级,谁调用就抛给谁

2.使用try catch语句进行异常的捕捉

选择上抛时,抛给了调用者,调用者要处理这个异常,调用者同样有两种处理方式

注意:

当异常一直被往上抛时,最后被抛给main方法,最终又被抛给jvm,结果就是程序被终止

throws后可以写多个异常,用逗号隔开,抛出的异常类必须是它本身或者他的父类

一般main方法中的异常就不要继续上抛了,最好用try catch捕捉

try catch语法:

try {

//出现异常的代码块

}

catch(异常类名 变量名){

//捕捉到该分支的异常后对异常的处理

}//catch可以多个,从上到下,从小到大

catch中的类名也是确切的异常类或其父类

try catch中的代码执行顺序

只要异常没被捕捉,采用上抛的方式,此方法的后续代码不执行

try中的某一行出现异常则该行后面的代码不会执行

try catch捕捉后后续代码可以被执行

相关推荐
for_ever_love__6 分钟前
LangChain Token 计数与成本控制:先知道钱花在哪
开发语言·langchain
m0_547486667 分钟前
《数据结构 (C语言)》期末试卷及答案(10套)2026版
c语言·开发语言·数据结构
顽疲8 分钟前
Java vue 养老系统源码详解:入住核算单 live-check 缴费入账与预交金收据实践
java·vue.js·python·java 养老·springboot 养老·vue养老
Sand(ContextGate)10 分钟前
从开发者调试工具到消费级 App:一个 AI 电商导购项目的 C 端改造与 6 个连环踩坑实录
开发语言·人工智能·python·ai·langchain
共饮一杯无14 分钟前
LiveKit本地录制落盘路径排查与修复实践
java·go·livekit
白杨尚青15 分钟前
C++入门篇(十七):priority_queue 完整模拟实现——仿函数、区间建堆与指针特化(附完整代码仓库)
开发语言·c++·stl·仿函数
StevenLdh26 分钟前
第八期 · 情绪闯关挑战盒:一个「无惩罚」成就系统的数据建模
java·微信小程序
逐光者93329 分钟前
滤波器的 R 与 C 如何选择:从截止频率到工程实践
c语言·开发语言·r语言
Eider199834 分钟前
大模型输出格式幻觉解决思路
开发语言·前端·javascript
Wang's Blog34 分钟前
Java 项目实战: 交友项目 - 入门案例:编写 Dubbo 服务消费者
java·dubbo·交友