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

JAVA—异常

   认识异常,学会从报错信息中发现问题,解决问题。并学会构建自定义异常,提醒编程时注意

目录

1.认识异常

2.自定义异常

 1.自定义运行时异常

2.自定义编译时异常

3.异常的处理


1.认识异常

                           异常就是代表程序出现的问题,用来查询BUG关键信息

         将错误信息封装为一个错误对象,然后提交到JVM虚拟机中返回报错信息,显示错误类型,错误问题,错误位置。

异常类Throwaable 子类包括:

  •                 Error(系统级错误,严重问题)(开发时不理会)
  •                 Exception(异常 我们程序会出现的问题)再下设

                                   运行时异常:RuntimeException及其子类(运行时出现的问题)

                                   编译时异常:编译阶段会有错误提醒其他异常(日期解析异常)


2.自定义异常

                                        掌握学习自定义异常和体会作用

 1.自定义运行时异常

   使用异常对象封装问题并使用throw抛出到上一层经过try catch语句显示 

package Exception;public class Ageillega extends RuntimeException {public Ageillega() {}public Ageillega(String message) {super(message);}
}
package Exception;public class Text1 {public static void main(String[] args) {try {saveAge(160);System.out.println("底层运行成功");} catch (Exception e) {e.printStackTrace();System.out.println("底层出现问题");}}public static void saveAge(int age){if(age > 0 && age <150){System.out.println("年龄被成功保存" + age);}else{//异常对象封装问题/** 1.定义一个异常类继承RuntimeException* 2.重写构造器* 3.通过throw new 异常类 来创建异常类并抛出,编译阶段不报错* */throw new Ageillega("/age is illegal, your age is "+age);//throw抛出去异常对象}}
}

2.自定义编译时异常

 还是封装异常对象类,提醒更强烈,引起注意

  •  throw  是抛出异常对象
  • throws 是用在方法上,抛出方法内部的异常
package Exception;public class AgeillegaException extends Exception{public AgeillegaException() {}public AgeillegaException(String message) {super(message);}
}
package Exception;public class Text1 {public static void main(String[] args) {try {saveAge(160);System.out.println("底层运行成功");} catch (Exception e) {e.printStackTrace();System.out.println("底层出现问题");}}public static void saveAge2(int age) throws AgeillegaException {if (age > 0 && age < 150) {System.out.println("年龄被成功保存" + age);} else {throw new AgeillegaException("/age is illegal, your age is " + age);//throw抛出去异常对象}}public static void saveAge(int age){if(age > 0 && age <150){System.out.println("年龄被成功保存" + age);}else{throw new Ageillega("/age is illegal, your age is "+age);//throw抛出去异常对象}}
}

3.异常的处理

常见的处理方式:

  1.    捕获异常,记录异常并响应合适的信息给用户
  2.    捕获异常,尝试重修修复      

解决方法:      1. 使用try-catch 语句捕获,检测语句错误,返回报错信息

                        2.使用 throws 抛出错误提醒 返回报错信息

                                                                                                                        学习时间 2024.8.9

http://www.lryc.cn/news/419216.html

相关文章:

  • 常见八股面试题:Dubbo 和 Spring Cloud Gateway 有什么区别?
  • k8s分布式存储-ceph
  • Redis cluster集群部署
  • Java泛型的理解
  • Linux 照片图像编辑器
  • 【51单片机仿真】基于51单片机设计的智能六位密码锁(匿*输入/密码修改/警示/保存/恢复/初始密码)源码仿真设计文档演示视频——文末资料下载
  • 【Vue3】组件通信之mitt
  • 状态压缩动态规划——状压dp
  • 【算法】最短路径算法思路小结
  • zabbix7.0TLS-05-快速入门-触发器
  • vue关于双向数据绑定的骚操作
  • 基于Jeecgboot3.6.3的vue3版本的流程中仿钉钉流程的鼠标拖动功能支持
  • Docker Compse单机编排
  • “AI+Security”系列第2期(一):对抗!大模型自身安全的攻防博弈
  • Python Static Typing: 提升代码可靠性与可读性的使用技巧
  • Datawhale多模态赛事(1)
  • 云手机在海外社交媒体运营中的作用
  • Ubuntu怎么进入救援模式或单用户模式
  • 学习鸿蒙-构建私有仓储
  • 经验是负债,学习是资产
  • 电脑屏幕录制工具分享5款,附上详细电脑录屏教程(2024全新)
  • Docker资源隔离的实现策略以及适用场景
  • PLL基本原理、设计及应用
  • Qt实现类似淘宝商品看板的界面,带有循环翻页以及点击某页跳转的功能
  • 2024下半年国际学术会议一览表
  • serial靶场
  • 如何在Vue3项目中引入并使用Echarts图表
  • C# 子类、接口
  • Qt实现圆形窗口
  • LeetCode 算法:有效的括号 c++