Java异常机制入门详解(上)

news2024/11/20 6:19:42

Java异常机制入门详解

  • 基础知识
  • 什么是异常?

在Java语言中,异常就是代表程序出现的问题。异常的引入不是让我们以后不出异常,而是程序出了异常之后,该如何处理。如如下两段代码,会各抛出一个异常:

int[]arr ={10,20,30};

System.out.println(arr[3]);

ArrayindexOutOfBoundsException

数组索引越界异常

int a =10;

int b =0;

System.out.println(a /b);

ArithmeticException

算数异常

  • 异常的体系

  • Error异常(严重错误)

Error:代表的系统级别错误(属于严重问题)

如果系统一旦出现问题,sun公司会把这些错误封装成Eror对象。Error是给sun公司自己用的,不是给我们程序员用的。因此我们开发人员不用管它。

  • Exception异常

Exception:叫做异常,代表程序可能出现的问题。我们通常会用Exception以及他的子类来封装程序出现的问题。异常共有2类:

运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒。运行时出现的异常(如:数组索引越界异常)

编译时异常:直接继承于Exception类,编译阶段就会出现异常提醒的。(如:日期解析异常)

运行时异常和编译时异常的区别?

●编译时异常:除了RuntimeExcpetion和他的子类,其他都是编译时异常。编译阶段需要进行处理,作用在于提醒程序员。

●运行时异常:RuntimeException本身和所有子类,都是运行时异常。编译阶段不报错,是程序运行时出现的。一般是由于参数传递错误带来的问题

常见的编译时异常

1.FileNotFoundException

2.ClassNotFoundException

3.SQLException

4.NoSuchFieldException

5.NoSuchMethodException

6.ParseException

常见的运行时异常

1.NullPointerException

2.ArithmeticException

3.ClassCastException

4.ArrayIndexOutOfBoundsException

5.StringIndexOutOfBoundsException

  • 异常的作用

作用一:异常是用来查询bug的关键参考信息

作用二:异常可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况

  • 小结

1.异常是什么?

●程序中可能出现的问题

2.异常体系的最上层父类是谁?异常分为几类?

●父类:Exception。

●异常分为两类:编译时异常、运行时异常

3.编译时异常和运行时异常的区别?

●编译时异常:没有继承RuntimeExcpetion的异常,直接继承于Excpetion。

编译阶段就会错误提示

●运行时异常:RuntimeException本身和子类。编译阶段没有错误提示,运行时出现的。

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

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

相关文章

ssrf介绍、相关php函数及demo演示

SSRF系列 危害(利用) 漏洞判断 回显 延时 DNS请求 相关函数

W11+Ipv6+可道云+PHPstudy实现私人云盘搭建

W11Ipv6可道云PHPstudy实现私人云盘搭建 一、搭建原因二、搭建过程软件选择服务器环境管理软件私人云盘 可道云搭建小皮面板搭建 三、相关配置程序开机自启远程关机远程开机 四、相关参考 一、搭建原因 工位电脑上一些文件想备份到家里电脑,购买NAS又有点多余&…

如何使用内网穿透工具实现公网访问GeoServe Web管理界面

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址6. 结语 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除…

【AntDB 数据库】国产数据库发展之信创政策的加持

由于我国在信息技术领域起步较晚,国内大量的市场份额被国际IT巨头占据,甚至长期处于被垄断的地位,这也给了某些国家妄图通过挑起科技、贸易摩擦制衡我国发展的机会。为了解决可能存在的安全风险,在重要信息系统、关键基础设施中使…

云原生之深入解析Kubernetes策略引擎对比:OPA/Gatekeeper与Kyverno

一、前言 ① Kubernetes 策略 Kubernetes 的 Pod Security Policy,正如其名字所暗示的,仅是针对 Pod 工作的,是一种用来验证和控制 Pod 及其属性的机制。另外 PSP 只能屏蔽非法 Pod 的创建,无法执行任何补救/纠正措施。而 Gatek…

Redis持久化及常见问题解决

持久化缓存雪崩缓存穿透缓存击穿缓存预热 持久化 Redis的储存形式:一份在内存、一份在磁盘。内存的是最新的;磁盘里的会隔一段时间更新。 Redis持久化方式: RDB:快照方式;将某⼀个时刻的内存数据,以⼆进制的⽅式写⼊…

Hana Studio打开BW失败

Hana Studio打开BW失败 JCo initialization failed with java.lang.UnsatisfiedLinkError: D:\ycy\BW培训\HANA\configuration\org.eclipse.osgi\357\0.cp\lib\sapjco3.dll: Can’t find dependent libraries 这个提示应该是VC版本问题,按如下链接中的地址下载安装…

【头歌实训】分布式文件系统 HDFS

文章目录 第1关:HDFS的基本操作任务描述相关知识HDFS的设计分布式文件系统NameNode与DataNode HDFS的常用命令 编程要求测试说明答案代码 第2关:HDFS-JAVA接口之读取文件任务描述相关知识FileSystem对象FSDataInputStream对象 编程要求测试说明答案代码 …

【开源】基于Vue+SpringBoot的民宿预定管理系统

项目编号: S 058 ,文末获取源码。 \color{red}{项目编号:S058,文末获取源码。} 项目编号:S058,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色…

面试题之分布式事务篇

1.什么是分布式事务? 概述:在分布式系统上一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务节点上,且属于不同的应用,分布式事务需要保证这些小操作要 么全部成功,要么全部失败。 如下所示&…

windows 系统读取 Linux Ext 分区硬盘

windows 系统读取 Linux Ext 分区硬盘 起因是需要处理一些在硬盘中的数据,硬盘插到我的电脑上后无法读盘,在 Windows 存储管理器中查看显示未分配,需要格式化,但是在 Ubuntu 系统的电脑中可以正常识别,试验了几次后发…

从印刷机到数据库:自动化如何提高生产力和改善生活

一文了解从自动化到数据库的前世今生。 作者:Kevin Kline 本文来源:https://www.dbta.com/,爱可生开源社区翻译。 本文约 2200 字,预计阅读需要 8 分钟。 自动化的历史 人类长期以来一直梦想着自动化的前景。我们最早的祖先将其想…

大数据集群增加数据盘,平衡数据盘HDFS Disk Balancer

大数据集群增加数据盘,平衡数据盘HDFS Disk Balancer 官网:https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-hdfs/HDFSDiskbalancer.html hdfs diskbalancer -execute /system/diskbalancer/nodename.plan.jsonhdfs diskbalancer -q…

手把手教你如何搭建SSM框架、图书商城系统案例

我 | 在这里 🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师) 🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…

[PyTorch][chapter 4][李宏毅深度学习][Gradient Descent]

前言: 目录: 1: 梯度下降原理 2: 常见问题 3: 梯度更新方案 4: 梯度下降限制 一 梯度下降原理 机器学习的目标找到最优的参数,使得Loss 最小 为什么顺着梯度方向loss 就能下降了。主要原理是泰勒公式。 假设损失函数为 忽略二阶导数, 当 …

翻硬币(第四届蓝桥杯省赛C++B组)(java版)

//翻硬币,每次都会改变两个硬币的状态 //因此我们可以从前往后枚举,s1[i] 与 s2[i] 状态不同就改变它的状态 //同时s1[i 1] 与 s2[i 1] 的状态会因此改变 // 所以继续往下枚举s1[i 1] 与 s2[i 1] //因为题目有说必须有解,因此枚举到 n - 1位的时候,两个字符串的…

Linux驱动开发学习笔记3《新字符设备驱动实验》

目录 一、新字符设备驱动原理 1.分配和释放设备号 2.新的字符设备注册方法 (1) 字符设备结构 (2)cdev_init函数 (3) cdev_add函数 (4)cdev_del 函数 二、自动创建设备节点 …

销售员该如何提升自己的语言魅力?

销售员该如何提升自己的语言魅力? 销售员提升自己的语言魅力,需要从多个方面入手,不仅需要提高语言表达能力,还要增强语言感染力,了解客户的需求和心理,以便更好地与客户沟通交流。 首先,销售…

苍穹外卖——地址簿功能

地址簿功能代码 1. 地址簿功能 1.1 需求分析和设计 查询地址列表新增地址修改地址删除地址设置默认地址查询默认地址 1.1.1 接口设计 根据上述原型图先粗粒度设计接口,共包含7个接口。 接口设计: 新增地址查询登录用户所有地址查询默认地址根据id…