运维.售后
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
博客
Blog
ToB门户
了解全球最新的ToB事件
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
java异常处理机制(二)之异常处理与捕获
java异常处理机制(二)之异常处理与捕获
渣渣兔
金牌会员
|
2023-12-18 15:34:51
|
显示全部楼层
|
阅读模式
楼主
主题
874
|
帖子
874
|
积分
2622
一、异常概述
1 Error(错误):
是指程序无法处理的错误,表示运行应用程序时比较严重的问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java 虚拟机)出现的问题。
2 异常(Exception):
是指在程序执行时由于程序处理逻辑上的错误而导致程序中断的一种指令流。通俗的说,就是程序员写的代码错误。
两者的区别:错误无法处理,异常可以被程序本身处理。
二、异常分类
异常可以分为编译时异常和运行时异常两种类型。
编译时异常:都是Exception类及其子类,必须显式(手动处理),否则程序就会发生错误,无法通过编译。
运行时异常:都是RuntimeException类及其子类,无需显式处理(手动处理),也可以和编译时异常一样处理。
常见的运行时异常:
NullPointerException 空指针异常
ArithmeticException 数学运算异常
ArrayIndexOutOfBoundsException 数组下标越界异常
ClassCastException 类型转换异常
NumberFormatException 数字格式不正确异常
复制代码
常见的编译异常:
SQLException 操作数据库时,查询表可能发生异常
IOException 操作文件时发生的异常
FileNotFoundException 当操作一个不存在的文件时,发生异常
ClassNotFoundException 加载类,但是该类不存在时,发生异常
EOFException 操作文件,到文件末尾,发生异常
IllegalArguementException 非法参数异常
复制代码
三、异常的处理
异常捕获指在程序运行过程中,发生了一些不可预测的错误或异常,需要对这些错误或异常进行捕获和处理的过程。在编程中,我们可以使用 try-catch-finally 语句块来进行异常捕获。
try:将可能会出错的代码放入 try 块中。
catch:当 try 块中的代码出现异常时,程序会跳转到 catch 块去处理异常,防止程序崩溃。
finally:不管 try 块中的代码是否正常执行,finally 块中的代码都会被执行,通常用来释放资源。
以下是一个简单的异常处理和捕获的例子:
try {
// 可能会抛出异常的代码块
} catch (ExceptionType1 e1) {
// 处理特定类型的异常1
} catch (ExceptionType2 e2) {
// 处理特定类型的异常2
} finally {
// 必须执行的代码块
}
复制代码
在上面的代码中,try块中的代码可能会抛出异常。如果抛出了ExceptionType1类型的异常,将跳转到第一个catch块中处理它。如果抛出了ExceptionType2类型的异常,将跳转到第二个catch块中处理它。无论是否出现异常,finally块中的代码都将执行。
需要注意的是,在Java中,异常处理应该尽可能地处理所有可能的异常,并且应该总是使用try-catch-finally块,即使代码中出现了Unchecked Exception。这样可以确保程序的稳定性和可靠性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
渣渣兔
金牌会员
这个人很懒什么都没写!
楼主热帖
SqlServer2012升级到SqlServer2016
事务的ACID特性
深度干货!一篇Paper带您读懂HTAP | St ...
iOS事件传递链与响应链
DCM: 中间件家族迎来新成员
(内附源码)Node.js小试——使用Node ...
还在纠结报表工具的选型么?来看看这个 ...
.NET for Apache Spark 入门演练
arthas使用介绍
go-zero单体服务使用泛型简化注册Handl ...
标签云
存储
服务器
快速回复
返回顶部
返回列表