论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
分布式数据库
›
【Java】异常的处理-方式【主线学习笔记】 ...
【Java】异常的处理-方式【主线学习笔记】
盛世宏图
论坛元老
|
2024-10-7 21:23:28
|
显示全部楼层
|
阅读模式
楼主
主题
1842
|
帖子
1842
|
积分
5526
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
前言
Java是一门功能强大且广泛应用的编程语言,具有跨平台性和高效的执行速度,广受
开发
者喜爱。在接下来的学习过程中,我将记载学习过程中的基础语法、框架和实践本事等,分享学习心得,对自己学习过程举行整理和总结,也盼望能为其他学习Java的朋友提供一些帮助和参考。
1、处理概述
在编写步伐时,大概会碰到各种错误或异常情况。比方,在执行除法运算时,分母为零会导致步伐瓦解;访问数组时超出边界会引发ArrayIndexOutOfBoundsException。为了避免这些问题,步伐员需要在大概出现错误的地方加上检查代码,这往往会导致代码冗长且可读性差。因此,Java引入了异常处理机制,可以或许集中处理错误,使得步伐更加简洁、优雅并易于维护。
2、Java异常处理机制(方式)
Java的异常处理机制主要包括以下几种方式:
方式一(抓抛模型):try-catch-finally
这是Java最常用的异常处理结构。
过程1:“抛”,步伐在执行的过程当中,一旦出现异常,就会在出现异常的代码处,生成对应异常类的对象,并将此对象抛出一旦出,此步伐就不执行厥后的代码了。
过程2:“抓”,针对于过程1中抛出的异常对象,举行捕获处理。此捕获处理的过程,就称为抓。一旦将异常举行了处理,代码就可以继续执行。
其基本语法如下:
try {
// 可能会抛出异常的代码块
} catch (异常类型1 e) {
// 处理异常的代码块
} catch (异常类型2 e) {
// 处理异常的代码块
} finally {
// 无论是否发生异常,都会执行的代码块
}
复制代码
try块
:用于包围大概抛出异常的代码。如果代码块中发生异常,就会自动生成一个对应异常类的对象,并将此对象抛出。
catch块
:用于处理try块中发生的特定类型的异常。针对try中抛出的异常的对象,与catch语句举行匹配,一旦匹配上,就进入catch语句举行处理。可以有多个catch块来处理不同类型的异常。
finally块
:可选的代码块,无论try块或者catch中是否发生异常,无论try中或者catch中是否存在return语句等,finally块中的代码都会执行。通常用于清理资源,如关闭文件、数据库连接等。唯一例外,使用System.exit(0)来种植当前正在运行的java虚拟机。
使用细节
:
多个catch块的处理:
同层次异常:如果声明白多个catch块,不同异常类型之间不存在父子关系时,顺序可以自由安排。
父子类关系:如果多个异常类型存在父子关系,必须将子类的catch块放在父类的前面。否则,父类的catch块会捕获所有子类异常,导致子类catch块无法被执行,从而出现编译错误。
catch中异常处理的方式,方式有多种:
自定义输出语句: 可以编写自定义的输出信息,提示用户或记载日志。这种方式适用于简单的错误处理。
printStackTrace(): 使用此方法可以打印异常的详细信息,包括异常的类型、错误信息以及异常发生时的调用栈。 因为它可以或许帮助
开发
者快速定位问题。
getMessage(): 使用此方法可以获取发生异常的缘故原由,返回一个描述性的信息。适用于需要扼要提示的场景。
什么样的代码需要放在finally当中?
在
开发
中,一些资源,如输入流、输出流,数据库连接、Socket连接等资源,在使用完以后,必须显示的举行关闭操作,否则,GC不会自动的接纳这些资源,从而导致内存泄漏,因此必须将这些操作声明在finally中。
try中声明的变量,出了try结构之后,就不举行调用了。
示例:
try {
int result = 10 / 0; // 可能会抛出ArithmeticException
} catch (ArithmeticException e) {
System.out.println("除数不能为零!" + e.getMessage());
} finally {
System.out.println("无论如何我都会执行。");
}
复制代码
方式二:throws + 异常类型
throws关键字用于声明方法大概抛出的异常。这并不处理异常,而是将异常抛给了给该方法的调用者,该调用者仍然需要考虑怎样处理相干异常。语法如下:
public void myMethod() throws 异常类型 {//表示下面代码中可能会出现的代码
// 可能抛出异常的代码
}
复制代码
当方法调用者调用这个方法时,必须使用try-catch语句来处理大概抛出的异常。
使用细节
子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常类型相同,或是父类被重写的方法抛出的异常类型的子类。
示例:
public void readFile(String filePath) throws IOException {
FileReader file = new FileReader(filePath);
// 处理文件
}
public void process() {
try {
readFile("somefile.txt");
} catch (IOException e) {
System.out.println("文件读取失败!" + e.getMessage());
}
}
复制代码
总结
Java的异常处理机制通过try-catch-finally和throws关键字,有效地将错误处理与正常步伐逻辑分开,加强了代码的可读性和可维护性。使用异常处理,可以更优雅地处理步伐运行中的各种不测情况,提高了步伐的结实性。
如果你有详细的例子或想讨论的细节,请告诉我!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
盛世宏图
论坛元老
这个人很懒什么都没写!
楼主热帖
绝了,这20款可视化大屏模板太酷炫了( ...
零基础学Java(1)初识Java程序 ...
【十年网络安全工程师整理】—100渗透 ...
Frida主动调用java函数来爆破解题思路 ...
聊聊DevOps制品管理-不止是存储制品这 ...
15年了,我们到底怎样才能用好 Serverl ...
Python程序运行内存的查看
记一次 .NET 某RFID标签管理系统 CPU ...
【Linux进程概念——下】验证进程地址 ...
数据库扩容也可以如此丝滑,MySQL千亿 ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Java
快速回复
返回顶部
返回列表