Java 异常 笔记

news2024/11/18 10:58:21

异常体系结构

异常分为ErrorExceptionError通常是灾难性错误,一般发生时,JVM选择终止程序执行;Exception通常可在程序中进行处理,尽量避免

Exception分支中有一个重要子类RuntimeException,运行时异常

  • ArrayIndexOutOfBoundsException:数组下标越界
  • NullPointerException:空指针异常
  • ArithmeticException:算术异常
  • MissingResourceException:丢失资源
  • ClassNotFoundException:找不到类

异常处理机制

处理异常的关键字

  • try:监控区域,可能会出现异常的程序代码,放在其中
  • catch:捕获异常,若捕获,则执行catch块的内容
  • finally:无论是否捕获到异常,都会执行。例如IO时出现异常,最后需要在finally块中关闭流

请添加图片描述

TODO

  • throw:方法中主动抛出异常
  • throws:方法中处理不了该异常,抛出,到上级处理?
public void test(int a, int b) throws ArithmeticException{
	if(b == 0){
		throw new ArithmeticException();
	}
}

自定义异常

使用Java内置的异常类可以描述大部分异常情况。此外用户可以自定义异常,只需继承Exception

  1. 创建自定义异常类
  2. 在方法中通过throw抛出异常对象
  3. 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法声明处通过throws抛出给方法调用者的异常
  4. 在出现异常方法的调用者中捕获并处理异常

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

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

相关文章

数据库,计算机网络、操作系统刷题笔记34

数据库,计算机网络、操作系统刷题笔记34 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle…

深入理解Promise

Promise的前提概念 Promise是一个构造函数,用来生成Promise实例 Promise构造函数接受一个函数作为参数,该函数有两个参数,分别是resolve和reject resolve:成功时的回调 reject:失败时的回调 Promise分别有三个状态 1…

行人属性识别研究综述(一)

文章目录摘要1、简介2 问题的表述和挑战3 标准3.1 数据集3.2 评价标准4 行人属性识别的常规流程4.1 多任务学习4.2 多标签学习5 深度神经网络🐇🐇🐇🐇🐇🐇🐇 欢迎阅读 【AI浩】 的博客&#x1f…

C#上位机基础学习_基于S7.Net实现读取S7-1500PLC中的字符串变量

C#上位机基础学习_基于S7.Net实现读取S7-1500PLC中的字符串变量 如下图所示,首先在TIA博途中创建一个项目,添加一个1500PLC,添加一个DB块,在DB块中添加几个字符串变量, 如下图所示,打开Visual Studio 2019,新建一个项目,在Form1中添加一个按钮和一个文本框, 如下图…

linux——高级信号

高级信号的收发发:siquequ收:sigaction() 包含三个元素num,sigaction()函数,备份num ->signumsigaction是一个结构体,需额外配置再传进来备份直接忽略,代表不需要备份sigaction结构体又包含四个元素sa_handler&…

Git进阶:修改上次提交 git commit --amend

一、问题说明 git commit 后,发现刚才的备注写错了,或者代码漏掉了,这时我们肯定是想取消刚才的提交。此刻有两种方法 (1)使用git reset命令将刚才的提交会退掉。需要注意的是git reset --soft 和git reset --hard的区…

【附源码】国内首届Discord场景创意编程开源项目

以下开源项目是由环信联合华为举办的《国内首届Discord场景创意编程赛》作品,附源码,一键即用。 一、 模拟器游戏直播-新新人类 新新人类模拟器游戏直播基于环信超级社区Demo构建,增加以“video-x”命名的新型Channel,用户可在本…

Java三目运算符导致 NPE

在三目运算符中,表达式 1 和 2 在涉及算术计算或数据类型转换时,会触发自动拆箱。当其中的操作数为 null 值时,会导致 NPE 。 一、基础知识 三目运算符 三目运算符是 Java 语言中的重要组成部分,它也是唯一有 3 个操作数的运算…

Linux常用命令——tempfile命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) tempfile shell中给临时文件命名 补充说明 有时候在写Shell脚本的时候需要一些临时存储数据的才做,最适合存储临时文件数据的位置就是/tmp,因为该目录中所有的内容在系统重启后就会被清…

LInux(三)程序地址空间、内存管理

目录 一、程序地址空间 二、内存管理方式 1、分段式内存管理 2、分页式内存管理 3、段页式内存管理 三、关于内存管理内容补充(分页式) 1、页表简单呈现 2、访问权限位 3、缺页中断 4.内存置换算法 一、程序地址空间 创建父子进程同时访问同一变量…

正式发布丨Azure OpenAI Service

Azure OpenAI 服务现已在微软全球 Azure 平台正式发布,这是微软人工智能大众化以及与 OpenAI 持续合作的又一里程碑。 大型语言模型正迅速成为用户无限创新、应用 AI 解决重要问题的平台。随着 Azure OpenAI 服务的正式发布,更多企业用户可以访问世界先…

在线支付系列【5】支付安全之数字证书

有道无术,术尚可求,有术无道,止于术。 文章目录公钥信任问题数字证书颁发流程使用流程SSL数字证书HTTPSSSL/TLS 证书如何申请SSL 证书使用keytool 生成ssl证书通信过程公钥信任问题 之前我们使用对称、非对称加密、信息摘要、数字签名&#…

DPDK系列之一基础环境搭建

一、DPDK是什么 DPDK,Data Plane Development Kit,数据平面开发套装,它还有一个兄弟SPDK,专门用来做存储优化的。它主要运行于Linux,是由Intel几家公司共同开发,用于快速处理数据的一个网络开发工具套装。更详细的说明…

python数据清洗1

数据获取——》数据清洗——》数据转换——》数据分析 通过设置步长,有间隔的取元素通过设置步长为-1,将元素颠倒 数据清洗工具 目前在Python中, numpy和pandas是最主流的工具。 Numpy中的向量化运算使得数据处理变得高效;Pandas提供了大量…

【Java入门】Java数据类型

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java入门 💬个人格言:不断的翻越一座又一…

(十四)线程池

线程池线程池是一组线程的集合。线程池维护一个队列,调用者向这个队列中添加任务,而线程池中的线程则不停地从队列中取出任务执行。线程池的继承关系如下图,其中ThreadPoolExecutor和ScheduledThreadPoolExecutor是具体的实现。ThreadPoolExe…

LeetCode刷题模版:141 - 150

目录 简介141. 环形链表142. 环形链表 II143. 重排链表144. 二叉树的前序遍历145. 二叉树的后序遍历146. LRU 缓存【未实现】147. 对链表进行插入排序148. 排序链表149. 直线上最多的点数150. 逆波兰表达式求值结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方…

多轮对话(三):Spoken Language Understanding 进展和前沿

本篇博客基于哈工大发表在IJCAI上的论文:A Survey on Spoken Language Understanding - Recent Advances and New Frontiers。 论文链接 github链接 口语理解(SLU)旨在提取用户查询的语义框架,是面向任务的对话系统的核心组件。本…

excel函数技巧:两个查询函数的用法比较 上篇

EXCEL函数江湖烽烟再起,函数大擂台迎来两位重量级选手。守擂者是号称全民偶像、人见人爱车见车载的巨星级函数VLOOKUP,挑战者则是名气不大实力强劲高手的LOOKUP函数!这对与生俱来的对手,究竟会在函数擂台上擦出怎样的火花&#xf…

Nginx原理

一、master和worker二、worker当客户端发送请求,先到达master,master通知所有的worker,然后所有的worker开始竞争任务。三、一个master和多个worker有什么好处(1)可以使用nginx -s reload热部署,利用nginx进行热部署(2…