当前位置: 首页 > news >正文

Java SE 部分总结 终

异常的体系结构

⾃定义异常通常会继承⾃Exception或者RuntimeException

继承⾃Exception的异常默认是受查异常 (编译时异常

继承⾃RuntimeException的异常默认是⾮受查异常(运行时异常

异常的声明-throws

throws 关键字⽤于在⽅法声明中列出该⽅法可能抛出的异常,它告诉调⽤者这个⽅法可能会抛出某 些异常,调⽤者需要处理这些异常。使⽤ throws 实际上是将异常的处理责任转移给了调⽤该⽅法 的代码

语法格式: 修饰符 返回值类型 ⽅法名(参数列表) throws 异常类型1,异常类型2...{ }

finally

在写程序时,有些特定的代码,不论程序是否发⽣异常,都需要执⾏,⽐如程序中打开的资源:⽹络 连接、数据库连接、IO流等,在程序正常或者异常退出时,必须要对资源进进⾏回收。另外,因为异 常会引发程序的跳转,可能导致有些语句执⾏不到,finally就是⽤来解决这个问题的。

语法格式: try{ // 将可能出现异常的代码放在这⾥ }catch(要捕获的异常类型 e){ // 如果try中的代码抛出异常了,此处catch捕获时异常类型与try中抛出的异常类型⼀致 时,或者是try中抛出异常的基类时,就会被捕获到 // 对异常就可以正常处理,处理完成后,跳出 try-catch 结构,继续执⾏后序代码 }[catch(异常类型 e){ // 对异常进⾏处理 }finally{ // 此处代码⼀定会被执⾏到 }

finally中的代码⼀定会执⾏的,⼀般在finally中进⾏⼀些资源清理的扫尾⼯作。

异常处理流程总结

1. 程序先执⾏try中的代码

2.如果try中的代码出现异常,就会结束try中的代码,看和catch中的异常类型是否匹配.

3.如果找到匹配的异常类型,就会执⾏catch中的代码

4.如果没有找到匹配的异常类型,就会将异常向上传递到上层调⽤者.

5.⽆论是否找到匹配的异常类型,finally中的代码都会被执⾏到(在该⽅法结束之前执⾏).

6.如果上层调⽤者也没有处理的了异常,就继续向上传递.

7.⼀直到main⽅法也没有合适的代码处理异常,就会交给JVM来进⾏处理,此时程序就会异常终⽌.

http://www.cnnetsun.cn/news/3144571.html

相关文章:

  • Topit:如何在Mac上实现多窗口置顶管理,终极效率提升指南
  • 2D数字人快速搭建指南:从入门到实战
  • 影石Insta360 AI剪辑实战:从素材到成片的自动化流程解析
  • PIC18F2458与DS28EC20的1-Wire EEPROM存储方案设计
  • Windows程序隐身术:3分钟学会RunHiddenConsole后台运行技巧
  • 机械革命笔记本重装Windows系统全指南
  • Web组件SEO优化实战:破解Shadow DOM内容不可见难题
  • Windows下飞书Bot接入ROS/Python服务的合规实践
  • Shell脚本与Nginx一键部署实战指南
  • AI编程工具链全栈配置与实战指南
  • Electron应用安全:无服务器C2攻击与自适应威胁防御
  • Hexo+GitHub Pages搭建免费技术博客全攻略
  • Cursor AI破解工具终极指南:三步免费解锁Pro功能,告别试用限制
  • DeepBump终极指南:3步实现AI驱动的3D纹理转换
  • GPT-5.5与Codex CLI是虚构的:开发者必须知道的AI模型事实
  • UE5开发中解决鼠标捕获问题的实用方案
  • UE4/5 UI弹框输入丢失与音效叠加问题解决方案
  • 边缘模型量化误差:别只看 Top1,要看现场阈值
  • 工业4-20mA电流环与DAC161S997集成方案解析
  • Codex与Cowart本地AI画布编辑器部署指南:实现精准图像局部编辑
  • 粒子群算法优化随机森林回归参数实战指南
  • PIC18F47K40与LV30构建高效条码识别系统
  • Windhawk终极实战:安全定制Windows程序的完整指南
  • 基于YOLOv8的农业害虫智能识别系统设计与实现
  • 双芯片信号转换系统设计与实现:PCF8591与dsPIC33FJ256GP710A应用
  • 多维聚合实战:超越GROUP BY的数据重塑方法论
  • 豆包2.0实测:AI如何真正懂中国式拜年的人情逻辑
  • 大模型工程师转型:从算法老兵到LLM实战专家
  • 基于YOLOv10的工地安全帽检测系统实战
  • AI 辅助 Rust 学习:让模型先解释借用错误,再给改法