JAVA学习14——异常

目录

异常:

1.异常基本介绍:

2.异常体系图:

3.五大运行时异常:

(1)NullPointerException空指针异常:

(2)AirthmetiException数字运算异常:

(3)ArrayIndexOutOfBoundsException数组下标越界异常:

(4)ClassCastException类型转换异常:

(5)NumberFormatException数字格式不正确异常:

4.异常处理机制:

(1)try-catch-finally(快捷键ctrl+alt+t)

(2)throws:

(3)自定义异常:

1.自定义的步骤:

2.throw和throws的区别:


异常:

1.异常基本介绍:

(1)概念:

Java语言中,将程序执行中发生的不正常情况称为异常。

(2)异常分类:

执行过程中所发生的异常事件可以分为两大类:

2.异常体系图:

3.五大运行时异常:

(1)NullPointerException空指针异常:

当应用程序试图在需要对象的地方使用null时,抛出该异常。

(2)AirthmetiException数字运算异常:

当出现异常的运算条件时,抛出该异常。

(3)ArrayIndexOutOfBoundsException数组下标越界异常:

用非法索引访问数组时抛出的异常,如果索引为负或大于等于数组大小,则该索引为非法索引。

(4)ClassCastException类型转换异常:

当试图将对象强制转换为不是实例的子类时,抛出该异常。

(5)NumberFormatException数字格式不正确异常:

当程序试图将字符串转换为一种数值类型,当该字符串不能转换为适合格式时,抛出该异常。

4.异常处理机制:

(1)try-catch-finally(快捷键ctrl+alt+t)

程序员在代码中捕获发生的异常,自行处理。

  • 如果发生异常了,则异常后面的代码不会执行,直接进入catch块。
  • 如果异常没有发生,则顺序执行try的代码块,不会进入catch。
  • 不管异常是否发生,finally代码块内的代码都执行,finally代码块中的语句在try-catch代码块中的语句执行完之前执行完。
  • 可以有多个catch语句,捕获不同的异常,要求父类异常在后,子类异常在前。
  • try-catch,相当于没有捕获异常,执行finally后程序会直接退出。应用场景:执行一段代码,不管是否发生异常,都必须执行某个业务逻辑。

(2)throws:

将发生的异常抛出,交给调用者来处理,最顶级的处理者就是jvm。

  • 对于编译异常,程序中必须处理,比如try-cach或者throws
  • 对于运行时异常,程序中如果没有处理,默认就是throws的方式处理。
  • 子类重写父类的方法时,对于抛出异常的规定:子类重写的方法,所抛出的异常类型要么和父类抛出的一致,要么为父类抛出异常的子类型(异常体系图)。

(3)自定义异常:

1.自定义的步骤:
  1. 定义类:自定义异常类名,继承Exception或RuntimeException
  2. 如果继承Exception,属于编译异常。
  3. 如果继承RuntimeException,属于运行异常。
2.throw和throws的区别:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb学习week7

javaweb学习 十四.Springboot 1.配置优先级 Springboot中支持三种格式的配置文件: 注意:虽然Springboot支持多种格式配置文件,但是在项目开发时,推荐使用一种格式的配置(yml是主流) Springboot除了支持…

报道|2024 INFORMS TSL-美团数据驱动研究竞赛

编者按 首届INFORMS 交通科学与物流(Transportation Science & Logistics,TSL)数据驱动研究竞赛与美团联合举行。 在第一届INFORMS TSL数据驱动研究挑战中,TSL和美团合作为全球研究人员和从业人员提供对美团运营级别的外卖配送…

C++:反向迭代器reverse_iterator

反向迭代器是C STL(标准模板库)中的一种迭代器类型,它允许我们逆向遍历容器(如std::vector, std::list, std::deque等)中的元素。反向迭代器指向容器的“尾部”元素,并通过递减操作向前移动(即向…

Vscode 总是发现不到包package

Vscode 右下角,选择3.8.6就不再报错,其他最新版本的3.11.7就不行。

【设计模式】创建者模式之 工厂方法 抽象工厂

工厂方法模式(Factory Method) 一个特定功能,往往有多种实现方式,但是很难有某一个实现可以适用于所有情况,因此往往需要根据特定的场景选择不同的实现。试想:把选择具体实现的代码放在业务中会发生什么?每当我们需要…

C++中lambda表达式的使用及注意事项

在C中一共有四种可调用对象,分别是函数,函数指针,仿函数,和lambda表达式,本文将从lambda表达式的定义形式开始,到lambda表达式的使用场景,向你讲述lambda的使用及注意事项。 lambda表达式的定义…

Java中的ThreadLocal为什么使用弱引用

ThreadLocal中为什么使用弱引用 补个概念: ThreadLocalMap中的key就是Entry,Entry是一个弱引用,关联了当前ThreadLocal对象。需要存储的数据为值。调用set方法要传入两个参数ThreadLocal对象和要存入ThreadLocal对象的数据。 如下图&#xf…

详细分析Java中的@AllArgsConstructor注解

目录 前言1. 基本知识2. 实战 前言 事情起因是Spring的循环依赖 详情可见:出现The dependencies of some of the beans in the application context form a cycle 解决方法(全) 1. 基本知识 AllArgsConstructor 是 Lombok 提供的一个注解…

《第一行代码》第二版学习笔记(9)——服务

文章目录 一、线程二、解决异步消息处理机制1、消息组成2、AsyncTask 三、Service1、启动和停止服务2、活动和服务通信3、服务的生命周期4、创建前台服务5、使用IntentService 四、服务的最佳实践 一、线程 android不允许在子线程中更新IU操作 二、解决异步消息处理机制 1、…

【linux软件基础知识】- struct gendisk

在Linux内核中,struct gendisk代表通用块设备。 它是用于管理和表示块设备的基本数据结构,例如硬盘驱动器、固态驱动器和其他存储设备。 struct gendisk 包含各种字段和指针,提供与块设备相关的信息和操作。 struct gendisk 结构的一些重要字…

LeetCode题练习与总结:扰乱字符串--87

一、题目描述 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 1. 如果字符串的长度为 1 ,算法停止 2. 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已…

41.乐理基础-拍号-小节、小节线、终止线

小节线:下图红框中的竖线就是小节线 小节、终止线:最后的终止线就是文字意思表示乐谱结束了,后面没有了 下图中 0.5表示0.5拍(八分音符)、1表示1拍(四分音符)、0.25表示0.25拍(十六分…

二、Redis五种常用数据类型-String

1、用途 简单的K-V缓存计数器分布式锁session共享分布式ID生成(自增) 2、底层实现结构 Redis底层是c语言实现的,但是并没有使用c的string来表示字符串,而是使用自己的简单动态字符串的抽象类型(simple dynamic string,SDS)。 SDS结构: st…

为什么centos官方版不支持arm架构?

为什么centos官方版不支持arm架构? 1、资源限制:CentOS是由社区维护的开源操作系统,其开发和维护需要大量的人力和物力资源。由于ARM架构的设备相对较少,社区资源有限,因此官方版CentOS选择集中精力在x86架构上进行开发…

编程基础学什么课程内容

编程基础学习的课程内容有:程序设计基础、算法与数据结构、计算机科学原理、面向对象编程、网页开发基础等课程内容,以下是上大学网 (www.sdaxue.com)整理的具体课程或技能领域内容,供大家参考! 程序设计基础(或计算机…

每日OJ题_DFS解决FloodFill⑦_力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围)

目录 力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围) 解析代码 力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围) LCR 130. 衣橱整理 难度 中等 家居整理师将待整理衣橱划分为 m x n 的二维矩阵 grid&#xff…

【精品毕设推荐】基于Javaee的影视创作论坛的设计与实现

点击下载原文及代码 摘 要 随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为…

Spring MVC、Spring Boot和Spring Cloud 三者区别和联系

引言 近期在做系统重构的项目工作,在跟开发沟通对接过程中,经常听到他们讲开发框架:Spring MVC、Spring Boot、Spring Cloud,故对这三者进行一些学习了解,下面我针对由来、作用与关联等方面,来总结一下我学…

《第一行代码》第二版学习笔记(8)——网络技术

文章目录 一、Http1、HttpURLConnection2、OKHttp 二、解析JSON格式数据1、使用JSONObject2、使用GSON解析JSON数据 一、Http 1、HttpURLConnection public void run() {HttpURLConnection connection null;BufferedReader reader null;try {URL url new URL("http://…