认识异常及异常处理机制之try-catch

异常类

什么是异常?就像人会犯错一样,程序在运行的过程中也会犯错。程序中的错误有两类,一类称为Error(错误),另一类称为Exception(异常)。Error类和Exception类都为Throwable的子类。狭义上的异常指的是Exception,广义上的异常指的是Throwable在这里插入图片描述

认识异常

异常(Exception):异常指的是程序运行时发生的不正常事件,它能够被程序处理,保证程序继续运行下去。像除数为0、文件没有找到、输入的数字格式不对等都是常见的异常。
错误(Error):错误指程序没法处理的事件,例如内存泄漏。发生错误后,一般虚拟机会选择终止程序运行,程序员需要修改代码才能解决相关错误。
在这里插入图片描述运行时异常: 这些异常在编译期不检测,程序中可以选择处理,也可以不处理。如果不处理运行时会中断,但是编译没问题。
非运行时异常:是必须进行处理的异常,如果不处理,将发生编译期错误。
在这里插入图片描述

常见的异常

  1. ArithmeticException算术异常
    发生前提:整数除以0时发生

在这里插入图片描述
运行结果:在这里插入图片描述
2. IndexOutOfBoundsException:索引越界异常
发生前提:当访问字符串中的字符超过了其长度时或者访问数组中的元素超过了其长度时。
在这里插入图片描述
在这里插入图片描述3. NumberFormatException-数字格式异常
发生前提:当把一个字符串转换成数字时,字符串内容不是纯数字时发生。
在这里插入图片描述4.NullPointerException-空指针异常
发生前提:当对一个空对象(即没有初始化),调用属性或方法时。
在这里插入图片描述5.非运行时异常
FileNotFoundException:文件未找到异常。
在这里插入图片描述

异常处理机制

1.Java使用try-catch语句来处理异常,将可能出现的异常操作放在try-catch语句的try部分,将发生异常后的处理放在catch部分。

try {
可能发生异常的语句
}
catch(异常类 异常对象) {
异常处理代码
}
在这里插入图片描述
2.异常对象可以调用如下方法得到或输出有关异常的信息:
public String getMessage();
public String toString();
public void printStackTrace();

在这里插入图片描述3.异常处理的三种情况

1.发生异常,异常被捕获(处理)。
2.发生异常,异常没有被捕获。
3.没有发生异常。
(1)发生异常被捕获处理
在这里插入图片描述
(2)发生异常没有被捕获处理

在这里插入图片描述
(3)没有发生异常

在这里插入图片描述

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

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

相关文章

git: Updates were rejected because the tip of your current branch is behind

一、报错含义 由于本地分支的tip落后远程分支,push操作被拒绝。 二、产生原因 我再本地拉去了新的分支并未同步到远程仓库,在新分支进行开发,由于前几天同步也创建了该分支并同步到了远程仓库,导致我本次push失败 三、解决方…

解决uni-app小程序获取路由及路由参数

代码: this.id = this.$route.query.id;错误信息: 解决方案: // 获取query对象// #ifdef H5this.id = this.$route

部署ATS(Apache Traffic Server)和Nginx正向代理服务性能对比

部署ATS(Apache Traffic Server)和Nginx正向代理服务&性能对比 1. 正向代理的用途2. ATS(Apache Traffic Server)正向代理服务器部署3. Nginx正向代理服务器部署4. 性能对比 1. 正向代理的用途 正向代理一般是用于内部网络出去,反向代理一…

【LeetCode每日一题】2085. 统计出现过一次的公共字符串(哈希表)

2024-1-12 文章目录 [2085. 统计出现过一次的公共字符串](https://leetcode.cn/problems/count-common-words-with-one-occurrence/)思路:哈希表计算 2085. 统计出现过一次的公共字符串 思路:哈希表计算 1.用两个哈希表分别统计word1和word2中字符出现的…

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…

【算法】动态中位数(对顶堆)

题目 依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。 输入格式 第一行输入一个整数 P,代表后面数据集的个数,接下来若干行输入各个数据集。 每个数据集的第一行首先输入一个代表…

使用CentOS搭建高性能静态HTTP服务器

在互联网应用中,静态内容是广泛存在的,例如HTML页面、图片、视频等。为了提供高效、稳定和安全的静态内容服务,我们可以使用CentOS来搭建高性能的静态HTTP服务器。 1. 选择合适的软件 Nginx和Apache是两个流行的HTTP服务器软件。Nginx以其高…

【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(上)

HashMap工作原理全揭秘 — 核心源码解析 知识盲点概念介绍数据结构数组链表数组VS链表哈希表不同JVM版本HashMap的展现形式 HashMap VS HashTable特性区别对比 hashcodehashCode的作用equals方法和hashcode的关系key为null怎么办执行步骤 核心参数容量探讨负载因子探讨加载因子…

第21集《佛法修学概要》

乙三、修行篇第三分三:丙一、总标五乘要义;丙二、别明五乘解脱法门;丙三、结归一佛乘 请大家打开讲义第五十八页。我们讲到乙三,修行篇第三。 大乘佛法有八万四千个法门,但是我们可以把它归纳成两个重点:…

3-微信小程序组件基本用法

小程序组件是由宿主环境提供的,开发者可以基于组件快速搭建出页面结构。官方把小程序组件分为9类。 视图容器基础内容表单组件导航组件媒体组件map地图组件canvas画布组件开放能力无障碍访问 常用视图组件 view 官网传送门 普通视图区域 类似于HTML中div&#x…

Python基础语法(中)—— python列表、字符串、函数

文章目录 5. python中的列表5.1 列表的初始化5.1.1 直接初始化5.1.2 通过append函数初始化5.1.3 通过for语句初始化列表长度和每个位置的数值 5.2访问列表元素5.3使用循环语句遍历列表5.4列表的切片操作5.5列表的复制5.6列表的运算5.7列表的常用操作5.8嵌套列表5.9列表其他小知…

基于springboot+vue的网上花卉商城系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

「 网络安全术语解读 」点击劫持Clickjacking详解

引言:要想深入理解点击劫持攻击,我们需要先清楚iframe的用途及优缺点。 1. 关于iframe iframe是HTML语言中的一部分,通常用于在网页中嵌入其他网页的内容,如图像、视频、音频、链接等。它允许在一个网页中插入另一个网页&#xf…

高性能mysql 第三版 读书笔记

MySQL中的tmp_table_size和max_heap_table_size|极客笔记 mysql占用内存过高调优方法_tmp_table_size过大阻塞-CSDN博客 查看mysql分配的内存 mysql查看内存利用状态_mob6454cc6d81c9的技术博客_51CTO博客 https://www.cnblogs.com/stronger-xsw/p/13632505.html

国企石油化工单位任职资格体系搭建案例

传统的任职资格体系主要考虑年限、经验、资历等因素,部分企业在任职资格体系中也引入了能力指标,但是,实际管理过程中仍然存在很多问题:员工“熬年头”意识严重、工作积极性差、优秀人员因得不到晋升而流失、各方面能力都不错的人…

【一文详解】知识分享:(C#开发学习快速入门)

面向对象(OOP) c语言是面向过程。 c是面向过程面向对象。 c#是纯粹的面向对象: 核心思想是以人的思维习惯来分析和解决问题。万物皆对象。 面向对象开发步骤: 分析对象 特征行为关系(对象关系/类关系) 写代码: 特征–>成员变量 方法–>成员方法 实例化–具体对象 …

Python商业数据挖掘实战——爬取网页并将其转为Markdown

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 ChatGPT体验地址 文章目录 前言前言正则表达式进行转换送书活动 前言 在信息爆炸的时代,互联网上的海量文字信息如同无尽的沙滩。然而,其中真正有价值的信息往往埋…

ORA-12541:TNS:无监听程序

1.重新配置监听 找到监听程序配置,右键已管理员身份运行 选择第二个:重新配置 这个一般没什么好选的 默认选定的协议TCP,继续下一步 默认的否 继续下一步,完成监听重新配置 之后进行测试看能否连上 2.本地Net服务名配置 …

Arrow:在项目中进行时间处理的强大工具

目录 一、Arrow简介 二、安装与配置 三、基础功能与使用 1. 日期和时间格式转换 2. 时区处理 3. 时间序列分析 四、进阶应用与案例分析 五、性能与优化 六、最佳实践与经验分享 七、总结与展望 在处理日期和时间时,我们经常需要一个精确、可靠的库来帮助我…