Java基础——异常+IO流资源释放

news2024/11/15 15:39:07

异常

(1)什么是异常:

  • 程序在编译/执行的过程中可能出现的问题
  • 注意:语法错误不属于异常

(2)为什么要学习异常:

  • 异常一旦出现了,如果没有提前处理,程序就会退出JVM虚拟机而终止
  • 研究异常并且避免异常,然后提前处理异常,体现的是程序的安全, 健壮性

(3)异常体系

 (4)编译/运行时异常原理

 (5)运行时异常,处理机制:

1.运行时异常:

  • 直接继承自RuntimeException或者其子类,编译阶段不会报错,运行时可能出现的错误。
  • (一般是程序员业务没有考虑好或者是编程逻辑不严谨引起的程序错误,自己的水平有问题

2.运行时异常示例:

  • 数组索引越界异常: ArrayIndexOutOfBoundsException
  • 空指针异常 : NullPointerException直接输出没有问题但是调用空指针的变量的功能就会报错
  • 数学操作异常:ArithmeticException
  • 类型转换异常:ClassCastException
  • 数字转换异常: NumberFormatException

3.处理机制:

  • 运行时异常编译阶段不会出错,是运行时才可能出错的,所以编译阶段不处理也可以。
  • 按照规范建议还是处理:建议在最外层调用处集中捕获处理即可。

(6)编译时异常,处理机制:

1.编译时异常:

  • 不是RuntimeException或者其子类的异常(继承自Exception的异常或者其子类
    ),编译阶就报错,必须处理,否则代码不通过。

 2.处理机制:

  • 1.出现异常直接抛出去给调用者,调用者也继续抛出去。

  • 2.出现异常自己捕获处理,不麻烦别人。

  • 3.前两者结合,出现异常直接抛出去给调用者,调用者捕获处理。

(7)自定义异常:

1.自定义异常的必要性:

2.自定义异常的好处:

3. 自定义编译异常:

4.自定义运行异常:

 

 IO流资源释放

(1)try-catch-finally

  (2)try-with-resource

  

 

 

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

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

相关文章

java的泛型

1. 泛型是什么 ​ Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter), 这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、…

如何开展兼容性测试?兼容性测试有什么作用?

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。兼容性测试是软件测试过程中必不可少的一个过程,没有兼容性测试的测试是不完整的测试,下面来分享怎么做兼容测试…

【艾特淘】淘宝卖家如何获取手淘推荐流量?

目前手淘推荐在流量构成中的占比越来越大。平台的推送机制越来越精准,卖家的使用习惯在慢慢改变,因此手淘推荐成了必争之地,尤其是免费的手淘推荐流量,成本很低!那么今天就给大家介绍一下手淘推荐的基本操作思路。首先…

【MySQL | 基础篇】04、MySQL 多表查询

目录 一、多表关系 1.1 一对多 ​1.2 多对多 1.3 一对一 二、多表查询概述 2.1 数据准备 2.2 概述 2.3 分类 三、内连接 3.1 案例 四、外连接 4.1 案例 五、自连接 5.1 自连接查询 5.2 联合查询 六、子查询 6.1 概述 6.2 标量子查询 6.3 列子查询 6.4 行…

NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据---大数据之Nifi工作笔记0036

首先拖入一个处理器组,然后把名字修改一下 首先拖入一个处理器组,把名字修改成mysql数据实时采集 然后拖入一个querydatabasetable处理器,然后配置处理器的数据库连接池 创建一个数据库连接池 选择上图中的连接池,然后给service Name改个名字 然后我们点击右边的箭头,然后

用智能手机拍的模糊照片怎么办?学会这个技巧让它变得清晰

智能手机的相机功能越来越强大,但有时候我们还是会拍出一些模糊的照片。这可能是因为手抖或者光线不足等原因导致的。但不要担心,有一些简单的技巧可以帮助您将模糊的照片变得更加清晰。 1.稳定手机 拍摄清晰照片的第一步是确保相机保持稳定。拍照时最…

小技巧 - 王者荣耀战力查询修改战区技巧(轻松拿省标)

项目场景 这个小技巧可能部分资深王者荣耀玩家早就会了哦 主要就是先去查询一下王者荣耀英雄最低战力的战区,再去修改定位到那个地区 这样的话打省标、市标这些会降低不少难度,当然靠实力的就不需要这些花里胡哨了 办法步骤需要的参考哦,…

在Linux中进行Jenkins的yum安装及使用

Jenkins安装在公网IP为y.y.y.y的服务器上 环境准备 第一步,下载jdk-11.0.19_linux-x64_bin.tar.gz安装包。 登录地址:Java Downloads | Oracle 下载jdk-11.0.19_linux-x64_bin.tar.gz安装包,然后使用WinSCP将安装包上传到/usr/local/src文…

windows开启自启动jar包

1.新建txt文本文档 2.复制以下内容,并记得修改 appName 到自己jar包所在目录 并修改jar包名称 3.重命名文本文档.txt为 (自己起名字).bat (注:修改成.bat文件,名字自己起) echo off setlocal set appNameD:/tes…

【前端】一个好看的前端页面

序言 突发奇想,看到这个特效还不错,就加工了一下,如果也能帮到你,很开心 先上效果图 部分代码讲解 前端生成uuid function getUUID(len, radix) {var chars 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.s…

音频相关知识

目录 声音的本质 横波与纵波 为什么固体中既能传输横波,又能传输纵波,液体气体中只能传输纵波 声波 超声波与次声波 声音的三要素 音调 响度 音色 噪声 媒体音频 声道 分类 麦克风工作原理 模数转换 扬声器的使用原理 音频压缩类别 音…

进制数转换知识点总结

二进制和十六进制 用0和1表示各种信息 计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0 课程推荐 【【计算机科学速成…

gRPC-Go源码解读一 客户端请求链路分析

最近在学习gRPC相关的知识,为啥要学呢?因为一直在用,古人云,“工欲善其事,必先利其器”。为此,花了不少时间阅读gRPC-Go的源码,收货甚多,比如透过服务发现和负载均衡这俩组件来学习复…

腾讯地图获得地图经纬度数据进行描边

场景:地图展示城市或区的描边 方案: 登录腾讯地图 微信小程序JavaScript SDK | 腾讯位置服务 申请密钥 按照步骤获得密钥后 阅读api文档,有各种api获得各类数据 示例:以获得地图区域描边经纬度为例 接口调用:直接浏…

OpenAI最新官方ChatGPT聊天插件接口《插件身份验证》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(三)(附源码)

Plugin authentication 插件身份验证 前言Plugin authentication 插件身份验证No authentication 无认证Service level 服务级别User level 用户级别OAuth其它资料下载 前言 “如果你不能信任插件,那么你就不能信任整个应用程序。”正因为如此,ChatGPT始…

机器人中的数值优化(二)—— 凸函数的性质

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,…

CentOS7(二)Go、Java、Python、Node开发环境配置

文章目录 Go环境配置Java环境配置Python环境配置Node 环境配置 CentOS7(一)安装和基础配置 CentOS7(二)Go、Java、Python、Node开发环境配置 根据前文,我们将所有的自定义环境变量,都收拢在了 /root/.bash_…

如何选一款适合企业的进销存软件?这款软件推荐给你

我们先来聊一聊,什么是进销存? 进销存是指企业管理过程中采购(进)—>入库(存)—>销售(销)的动态管理过程。 再来详细拆解下—— 进:指询价、采购到入库与付款的…

Jmeter实验笔记

Jmeter实验 一、基础操作 启动Jmeter 点击bin目录下的,jmeter进行启动 修改界面语言为中文 发起一个最基本的请求 GET请求 线程组,Http请求,察看结果树 提示:参数、消息体数据这两个按钮是互斥的、只要其中一个有数据&#xff…

【配电网重构】【SOE】随机配电网重构中的开关开换方法研究(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …