当前位置: 首页 > 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深度学习入门指南(1) - 从chatgpt入手
  • Docker③_VMware虚拟机和Docker的备份与恢复
  • CST软件如何设置硬件加速选项GPU DCMPI token?
  • (自用)交互协议设计——protobuf序列化
  • python笔记和练习----少儿编程课程【阶段一(二)】
  • 【案例38】Can’t get connection from database 排查详细记录
  • GPS跟踪环路MATLAB之——数字锁频环
  • 可视耳勺靠谱吗?五款杰出可视挖耳勺种草!
  • Windows 平台 Docker Protainer可视化平台,忘记登录密码,重置密码
  • 【C++算法】双指针
  • 45.跳跃游戏
  • 爬虫练习_01
  • 代码随想录算法day16 | 二叉树part06 | 654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
  • 做报表用什么工具?不想再用Excel了!!!
  • Tomcat漏洞
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Docker入门(二) - Dockerfile
  • ERLANG 网工修炼笔记 ---- UDP
  • ES学习笔记(12)--Symbol
  • JavaScript设计模式与开发实践系列之策略模式
  • JavaScript异步流程控制的前世今生
  • learning koa2.x
  • Python打包系统简单入门
  • text-decoration与color属性
  • 缓存与缓冲
  • 如何实现 font-size 的响应式
  • 微信开放平台全网发布【失败】的几点排查方法
  • 一道面试题引发的“血案”
  • 译有关态射的一切
  • 因为阿里,他们成了“杭漂”
  • 【云吞铺子】性能抖动剖析(二)
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • "无招胜有招"nbsp;史上最全的互…
  • #java学习笔记(面向对象)----(未完结)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (三)mysql_MYSQL(三)
  • (十) 初识 Docker file
  • (一)SvelteKit教程:hello world
  • (转)关于pipe()的详细解析
  • .NET C# 配置 Options
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 读取 JSON格式的数据
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 直连SAP HANA数据库
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • [ C++ ] 类和对象( 下 )
  • [4.9福建四校联考]
  • [8] CUDA之向量点乘和矩阵乘法
  • [ActionScript][AS3]小小笔记
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [bzoj1324]Exca王者之剑_最小割
  • [CF407E]k-d-sequence