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

Java——异常

异常都是由Throwable这个类派生出来的

派生于Throwable的类主要分为两个部分Error和Exception

1.Error 指的是 Java 虚拟机无法解决的严重问题,比如: JVM 的内部错误、资源耗尽等 ,典型代表: StackOverflowError OutOfMemoryError ,一旦发生回力乏术。
2. Exception 异常产生后程序员可以通过代码进行处理,使程序继续执行。
对于我们程序员可以自己处理的我们称之为异常,而程序员无法处理的称之为错误。
继续往下分
我们这里主要关心的就是异常部分
1.在程序编译的过程中发生的异常我们称之为 编译时异常 也叫做 受查异常
2.在程序运行的过程中发生的异常我们称之为 运行异常 也叫做 非受查异常
异常的处理:
1 . LBYL : Look Before You Leap.在操作之前就做充分的检查,事前防御型
2. EAFP : It's Easier to Ask Forgiveness than Permission.事后认错型
基本语法格式:
异常处理主要的 5 个关键字: throw try catch final throws.
异常的抛出:
throw new XXXException("异常产生的原因")
1. throw 必须写在方法体内部
2. 抛出的对象必须是 Exception 或者 Exception 的子类对象
3. 如果抛出的是 RunTimeException 或者 RunTimeException 的子类(非受查异常),则可以不用处理,直接交给 JVM 来处理
4. 如果抛出的是编译时异常(受查异常),用户必须处理,否则无法通过编译
5. 异常一旦抛出,其后的代码就不会执行
注意:
throw可以抛出多个异常,用逗号隔开,如果抛出的多个异常具有父子类的关系,直接抛出父类异常即可。
当我们调用的过程中有抛出的异常时必须对异常进行处理,比如用catch捕获,或者在类名的最后面继续用throw抛出,由上一级的类进行处理。
自定义异常
自定义异常我们通常要让这个类继承与我们的Exception或者是RuntimeException,但是Exception默认是受查异常,我们必须对它进行处理,但RuntimeException默认是非受查异常,不需要我们对他进行处理。

http://www.mrgr.cn/news/67311.html

相关文章:

  • 深度学习:自注意力机制(Self-attention)详解
  • 2024.11.03 周报
  • 【笔记】变压器-热损耗-频响曲线推导 - 02 预备知识
  • 你使用过哪些MySQL中复杂且使用不频繁的函数?
  • Day12合并两个有序数组
  • Vue全局事件总线
  • 【709】基于SSM+vue的“萌宠小知识”网站设计与实现
  • 3254. 长度为 K 的子数组的能量值 I
  • STM32F103 单片机
  • 初识Mysql数据库
  • Appium环境搭建/使用教程(图文超详细)
  • 高并发内存池扩展 -- 处理大内存,优化释放时需要传入空间大小,加入定长内存池,存放映射关系的容器的锁机制,优化性能(基数树,优势,优化前后对比)
  • Cesium中granularity关键字引起的连锁知识
  • 【系统架构设计师】高分论文:论企业集成平合的技术与应用
  • C语言-详细讲解-洛谷P1075 [NOIP2012 普及组] 质因数分解
  • Cookie技术详解:互联网中的“记忆”使者
  • Jenkins应用详解(Detailed Explanation of Jenkins Application)
  • 使用Golang实现开发中常用的【实例设计模式】
  • 秒杀系统设计:原则、关键技术与注意事项
  • ROS2humble版本使用colcon构建包
  • 二叉树的遍历和线索二叉树
  • 高频面试题(含笔试高频算法整理)基本总结回顾33
  • LCL三相并网逆变器simulink仿真+说明文档
  • ctfshow(316)--XSS漏洞--反射性XSS
  • 每日一题之老式计算器
  • 无需手动部署的正式版comfyUI是否就此收费?开源等同免费?