Throwable、Error、Exception 运行时异常、非运行时异常

news2024/10/6 14:26:24

一、Throwable

Throwable类(可抛出)是一个超类,是所有错误和异常根。只有继承于Throwable的类或者其子类才能够被抛出。
有两个子类为Error和Exception,其他的异常类都继承于这两个子类。


三、Error和Exception

Error类及其子类错误:一般指应用程序存在严重问题,无法通过try-catch来进行捕获。例如,系统崩溃,内存不足,堆栈溢出等,应用程序一般无法自行恢复。

Exception类及其子类异常:可以通过catch来进行捕获,对其进行处理。

当我们自定义运行时异常时,只需要继承RuntimeException即可


二、运行时、非运行时

业务中经常按功能可划分为两类

1.运行时 (非编译检查), 程序运行时,将错误或异常抛出, 编译可以成功

RuntimeException类及其子类
Error类及其子类

2.非运行时(编译检查), 程序编译时,将错误或异常抛出, 编译会失败

除RuntimeException类及其子类外,其他的类

在这里插入图片描述


三、Throwable类中的方法

getMessage() 异常的详细描述性消息
printStackTrace() printStackTrace(PrintStream s) printStackTrace(PrintStreamOrWriter s) 打印堆栈信息

fillInStackTrace() 填充执行堆栈跟踪

setStackTrace(StackTraceElement[] stackTrace) 设置堆栈跟踪元素
getStackTrace() 获取堆栈跟踪元素

initCause(Throwable cause) 初始化异常类
getCause() 获取异常类

addSuppressed(Throwable exception) 追加异常
getSuppressed() 返回追加异常


三、部分详细异常说明

异常说明
Throwable超类
Exception异常
Error错误
RuntimeException运行时异常
InterruptedException
CloneNotSupportedException
VirtualMachineError
LinkageError
AssertionError
NullPointerException空指针异常
IllegalArgumentException非法参数异常
SecurityException
ArithmeticException
IndexOutOfBoundsException
ArrayIndexOutOfBoundsException数组越界异常
ArrayStoreException
ClassCastException类型转换异常
EnumConstantNotPresentException
IllegalMonitorStateException
IllegalStateException非法状态异常
UnsupportedOperationException
OutOfMemoryError内存不足
StackOverflowError堆栈溢出
UnknownError



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

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

相关文章

C++知识点 -- 智能指针

C知识点 – 智能指针 文章目录 C知识点 -- 智能指针一、智能指针的使用及原理1.使用场景2.RAII3.智能指针的设计思想4.智能指针的拷贝问题 二、auto_ptr三、unique_ptr四、shared_ptr1.模拟实现2.shared_ptr的循环引用 五、weak_ptr六、定制删除器七、内存泄漏1.什么是内存泄漏…

PDF转Word免费的软件有哪些?(完整教程版!)

这五种免费PDF转Word的方式,不仅免费,还能准确恢复PDF文件内容,前方高能,快速学习! 1.Office直接打开 大厂软件,既能读文档又能转换格式,总让人放心。 转换流程1:在Word的最新版本…

Zero系列三部曲:Zero、Zero-Offload、Zero-Infinity

Zero系列三部曲:Zero、Zero-Offload、Zero-Infinity ZeroIntroductionZero DP流程图详解 Zero-R Zero-OffloadZero- Infinityreference Zero Introduction 以数据并行为例,在训练的时候,首先把模型参数在每个GPU上复制一份,然后…

IP报文解析(TCP、UDP、 ICMP)及代码分享(C++)

一、OSI模型与TCP/IP协议栈 1.1 OSI 7层模型: 应用层: 功能:用户接口,文件传输、电子邮件、虚拟终端、文件服务 设备:网关 协议:HTTP、TFTP、SMTP、FTP、SNMP、DNS、Telnet 表示层: 功能&…

Spring 面试题总结(2023最新版)

文章目录 1、谈谈你对Spring的理解?1.1 发展历程1.2 Spirng的组成1.3 Spring的好处 2、Autowired和Resource的区别2.1 共同点:2.2 Autowired2.3 Resource2.3.1 Resource的装配顺序 3、Spring常用注解3.1、给容器中注入组件3.1.1 包扫描组件标注注解3.1.2…

复数的基本知识

复数的基本知识 文章目录 复数的基本知识前言表示方法百度百科简单来说: 复数的运算 前言 这里只有一点点关于复数的知识,主要是最近的FFT要用到。 表示方法 百度百科 我们把形如 abi (a,b均为实数)的数称为复数,其…

c++ “拷贝构造,运算符重载”

1.拷贝构造 拷贝构造的意思为:创造一个对象并拷贝另一个对象. 拷贝构造的名字与类的名字一致,参数一般为引用,若类中为无拷贝构造,编译器会自动生成默认拷贝构造函数,这种默认的拷贝构造函数只能拷贝内容,不…

安装并使用JupyterLab

背景 JupyterLab 是用于笔记本、代码和数据的最新的基于 Web 的交互式开发环境。其灵活的界面允许用户配置和安排数据科学、科学计算、机器学习方面的工作流程。模块化设计邀请扩展来扩展和丰富功能。 部署 要在本机搭建 Jupyter Notebook 平台进行机器学习项目,…

【Python入门篇】——Python基础语法(字符串扩展和格式化的精度控制)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…

网络安全之IPSEC路由基本配置

目录 网络安全之IPSEC路由基本配置 IPSEC配置的前提分析 协议分析 传输模式分析​编辑 IPSEC路由中的配置 图谱图 配置公网可达 R1配置IKE SA的安全提议 R1配置 IKE SA 的身份认证信息 R3配置IKE SA的安全提议 R3配置 IKE SA 的身份认证信息 R1配置IPSEC的安全提议…

112-Linux_mysql数据库的安装

文章目录 一.数据库介绍1.数据库2.数据库的分类 二.mysql安装及设置1.安装mysql2.初始化配置(1)设置数据库不进行密码强校验(2)设置root管理员密码(3)设置是否要删除匿名用户,这里不删除(4)设置是否允许root用户远程登录,这里设置允许(5)是否删除test库&…

硬件设计 之 PCIe常用知识

以下是本人在自己在设计PCIe中常遇到的一些知识,对他们进行了简单整理一下,包括基本定义、传输速率、layout要求等。比如作为硬件工程师要了解芯片架构,哪些PCIe接口可以使用,使用这些PCIe要做什么,需要使用PCIe x1还是…

msvc编译opencascade和vtk

文章目录 msvc编译opencascade和vtk下载源码和第三方库开始编译VTK开始编译OCC msvc编译opencascade和vtk 下载源码和第三方库 opencascade源码 我下载的时候最新版本是7.7.0 第三方库文件 这里面标出来的是必须的文件,如果你需要别的,也可以下载其他的…

JNI开发

文件结构(选中的为生成的) CMake构建不需要执行命令,会自动生成so文件打包进apk Android mk构建需要执行命令生成so文件,再打包进apk。命令如下。 # 在jni目录下执行 # 生成com_demo_cppproject_OtherNdkTest.h头文件 javac -h .…

[MySQL / Mariadb] 数据库学习-Linux中二进制方式安装MySQL5.7

Linux中二进制方式安装MySQL5.7 安装安装方式官网下载安装包创建用户组mysql,用户和目录把下载的安装包,放到/home/mysql/将本地文件拷贝到远程: scp 文件名 –用户名计算机IP或者计算机名称:远程路径 验证包解压安装包,移动到/us…

【前端面试题】深拷贝的终极实现

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 引子 通过本文可以学习到深拷贝的三种写法的实现思路与性能差异 首先,我们要理…

Hystrix 简单聊聊断路器/熔断器

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 作者:风间影月|慕课网讲师 什么是Hystrix Hystrix 在SpringCloud中负责服务熔断服务降级的作用。 Hystrix 存在的目的也是…

从 Elasticsearch 到 Apache Doris,10 倍性价比的新一代日志存储分析平台

作者介绍:肖康,SelectDB 技术副总裁 导语 日志数据的处理与分析是最典型的大数据分析场景之一,过去业内以 Elasticsearch 和 Grafana Loki 为代表的两类架构难以同时兼顾高吞吐实时写入、低成本海量存储、实时文本检索的需求。Apache Doris…

114-Linux_mysql基本操作

文章目录 一.数据库的基本操作1.数据库的登录及退出(1)连接数据库:(2)退出数据库 2.查看所有数据库3.显示时间4.显示数据库版本5.创建数据库6.查看创建数据库的语句7.查看当前使用的数据库8.查看当前用户9.使用某个数据库10.删除数据库 一.数据库的基本操作 1.数据…

训练计划安排(练一休一训练分化+倒金字塔训练法)

目录 练一休一训练分化每次训练的组数12-15组 (4-5个动作)QA 倒金字塔训练法倒金字塔热身正式组常见误区: 训练补剂bcaa咖啡因肌酸蛋白粉 如何降低皮质醇水平如何提升睾酮水平文献出处睡眠8h摄入适量脂肪(0.8g每公斤体重&#xff…