Java里的异常机制

news2024/10/6 12:04:02

一、什么是异常

软件程序在运行过程中,遇到用户输入不符合要求、文件路径不存在、文件格式错误、非法参数等的异常问题,叫做异常(Exception)。

二、简单分类

1.检查性异常

最具代表的检查性异常就是用户错误或问题引起的异常,是程序员无法预见的。

例如:打开一个不存在的文件时,一个一场就发生了,这些异常在编译时不能简单的被忽略。

2.运行时异常

运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略。

3.错误(ERROR)

错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。

例如:当栈溢出,一个错误就发生了,在编译时检查不到。

三、异常体系结构

java可以把异常当做对象来处理,并定义一个基类 java.lang.Throwable 作为所有异常的超类。
在java API中已经定义了许多异常类,分为两大类错误 Error异常 Exception

1.error

2.Exception

在这里插入图片描述
异常一般是由程序逻辑错误引起的,程序应从逻辑角度尽可能避免这类异常的发生。

3.Error和Exception的区别

Error通常是灾难性的致命错误,是程序无法控制和处理的,当出现这些异常的时候,Java虚拟机(JVM)一般会选择终止线程。

Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。


简单粗暴!
感谢ლ(°◕‵ƹ′◕ლ)!!!

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

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

相关文章

计算机网络:网络层

网络层 网络层主要是解决寻址连接问题,例如两个主机在网络上通过IP进行连接通信 1.网络层概述 网络层的主要任务是实现网络互联,进而实现数据包在各网络之间的传输 需要解决的主要问题: 因特网 使用TCP/IP协议栈通过学习TCP/IP协议栈的网…

Nginx:handler 模块的实现

文章目录1、模块的分类2、模块的基本结构2.1、模块配置结构2.2、模块配置命令2.3、模块上下文结构2.4、模块的定义3、http 请求处理3.1、请求处理阶段3.2、获取用户请求3.3、发送响应4、例:流量限制模块4.1、操作共享内存4.1.1、红黑树4.1.2、双向链表4.2、编写模块…

APS排程软件在压铸行业的应用

压铸是一种金属铸造工艺,其特点是利用模具内腔对融化的金属施加高压。模具通常是用强度更高的合金加工而成的,这个过程有些类似注塑成型。大多数压铸铸件都是不含铁的,例如锌、铜、铝、镁、铅、锡以及铅锡合金以及它们的合金。根据压铸类型的…

js:判断文本溢出隐藏生效text-overflow: ellipsis

效果展示 参数汇总 看上图,不难发现,文字有超出的条件是 target.scrollWidth > target.offsetWidth可以通过js判断是否生效,参考element-ui的代码实现 https://github.com/ElemeFE/element/blob/dev/packages/table/src/table-body.js#…

RocketMQ的主要组件及其功能

一、RocketMQ部署的组件 RocketMQ是啥就不多说了,一个基于主题的订阅发布机制的消息中间。下面就是我们部署时的架构,NameServer和Broker需要部署在服务器上,对于消费者和生产者则是我们在自己的程序里启动,去push/pull消息。 消…

rust变量与常量

变量绑定 在rust里有个核心原则,那就是所有权。在其它语言中,我们可以把一个值赋值给变量。但是在rust里,是把值绑定到变量上。任何内存对象都是有主人的,而且一般情况下完全属于它的主人,绑定就是把这块内存绑定给一…

路由器的工作原理,详细介绍

1、路由器的作用 路由器: router 作用:实现跨网段通信,不同的网络之间通信 交换机: switch 作用:组建局域网,就是将电脑通过网络连起来 交换机的原理参考文档:计算机网络之交换机的工作原理…

前端React项目的Next.js项目通过CSS引入自定义字体文件

最近在Web3的项目,需要引入自定义字体,做下记录: 1、 如果是下载的字体文件,直接能使用的就不需要转换,如果是TTF格式则需要转换成eot、svg、woff、woff2,这里提供一个网站Font Squirrel | Create Your Ow…

ROS之话题通信

文章目录理论模型分析流程1. 发布方2. 订阅方3.配置 CMakeLists.txt4.执行5.注意参考理论模型 话题通信实现模型是比较复杂的,该模型如下图所示,该模型中涉及到三个角色: ROS Master (管理者)Talker (发布者)Listener (订阅者) ROS Master 负责保管 Talker 和 Li…

简化javabean开发-->Lombok

目录 一.Lombok 1.Lombok 介绍 1.1Lombok 作用 1.2SpringBoot 和 IDEA 官方支持 2.Lombok 常用注解 3.Lombok 应用实例 3.1在 pom.xml 引入 lombok 3.2. 修改 Furn.java 3.3在 idea 安装 lombok 插件 一.Lombok 1.Lombok 介绍 1.1Lombok 作用 1. 简化 JavaBean 开…

Camtasia2023喀秋莎录屏软件下载操作教程

Camtasia软件2023最新版是一款电脑屏幕录制与视频剪辑的软件,功能强大且操作简单。可以使用该软件对视频进行添加滚动字幕的效果,并且还可以选择注释标注的样式、主题以及形状等。在内置的视频编辑器中对视频进行剪辑时还可以拖放文本、添加效果、添加过…

VTK-vtkImplicitFunction及其子类介绍

简介:本文主要介绍vtkImplicitFunction接口及其子类的实现原理和用途。 目录 1. vtkPlane 2. vtkPolyPlane 1. vtkPlane 描述:vtkPlane提供了各种平面的计算方法,包括点到面的投影,计算点到面的距离及面的法向量等。 Evaluat…

解析分布式数据库的技术框架及其在金融行业中的应用规划

早期银行业务系统处理的主要是交易型数据,数据量较少,传统关系型数据库(如Oracel、DB2等)已足够应对。随着互联网金融业务的快速发展,业务系统需要处理的数据呈爆炸式增长,传统数据库无法满足业务系统越来越高的数据处理能力要求。于是,新型的分布式数据库系统应运而生。…

Linux安装Redis 手把手教程

文章目录安装步骤1. 创建安装目录/usr/local/redis2. 进入安装包目录3. 编译环境准备:4. 下载redis 源码包5. 解压文件6. 进入到解压好的redis-5.0.2目录下,进行编译与安装7. 启动并指定配置文件8. 配置允许远程连接(选做)9. 启动…

文献|敬畏这种情绪,居然可以让世界变得更美好

Hello,大家好~ 这里是壹脑云科研圈,我是青书~ 在介绍今天推荐的文献之前,要先和大家宣布一个非常棒的消息,我们的第二季21天情绪文献对赌营圆满结营啦~ 在本期活动里,各位参加的小伙伴都有属于自己的收获&#xff1…

容器基础镜像的编写及最佳实践

1 基本概念 1.1 Docker系统组成 整体Docker的系统包括以下主要组成部分,包括Dockerclient、Dockerdaemon、Docker registry、Docker镜像、Docker容器,他们之间的关系如下图: Docker架构主要分为客户端和服务端,客户端负责发起请求,服务端负责接受,解析和处理请求,图示中…

【Linux】操作题大全

目录 1.若下达 # rmdir test 命令来删除某个已存在的目录,但无法成功,请说明可能的原因 2.请用shell中的while循环输出1-100的和 两种执行bash文件的方法 3. 请用shell中的for循环输出1-100 4.请用shell中的while循环输出1-100 5.计算输入的参数1和参…

jquery中 offset()计算的偏移量 和 原生Dom计算的偏移量不一致;

目录 一、问题 二、原因及解决方法 三、总结 一、问题 1.需求:有一个表格,单元格宽度不相等,单元格上面覆盖着一个input输入框。想要通过相对位置计算 输入框到底在表格的第几列。 思路:通过循环表格第一行单元格计算左边偏移…

Twitter群推王:推特全方位营销利器

Twitter群推王是专为Twitter运营提供的一款全方位营销工具,可以自动发帖、自动私信、自动转发、自动关注、自动点赞、自动改资料、自动注册、数据采集等,解决营销中的三大难题:账号问题、同一Ip环境问题、批量自动化问题,是个人、…

【数据结构Note4】-串、数组和广义表(kmp算法详解)

串、数组和广义表 顺序表和链表分别是线性表的两种存储结构。 栈和队列是操作受限的线性表。 串、数组和广义表是内容受限的线性表。 1. 串 1.1 串的概念和结构 串(String)—零个或多个任意字符组成的有限序列 所谓串是内容受限的线性表。就是要求该线性…