Java中异常的分类

Java 中的异常分类详解 检查异常是指在编译时检查的异常,通常是程序外部因素导致的错误,如文件不存在、网络连接中断等。非检查异常是指在运行时发生的异常,通常是程序逻辑错误导致的,如空指针、数组越界等。错误是指程序无法处理的严重问题,通常是 JVM 或系统资源问题,如内存溢出、栈溢出等。类别特点示例检查异常编译时检查,必须处理,继承自Exception。非检查异常运行时发生,不强制处理,继承自。错误严重问题,通常无法通过代码修复,继承自Error。通过继承Exception或创建自定义异常。检查异常:编译时检查,必须处理。 阅读详情

Java中异常的分类

所有异常,都继承自java.lang.Throwable类。

Throwable有两个直接子类,Error类和Exception类。

Exception

Exception则可使从任何标准Java库的类方法,自己的方法以及运行时任何异常中抛出来的基类型。

异常可分为执行异常(RuntimeException)和检查异常(Checked Exceptions)两种

RuntimeException

RuntimeException在默认情况下会得到自动处理。所以通常用不着捕获RuntimeException,但在自己的封装里,也许仍然要选择抛出一部分RuntimeException。

RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。(java api)

它是uncheckedExcepiton。

Java.lang.ArithmeticException

Java.lang.ArrayStoreExcetpion

Java.lang.ClassCastException

Java.lang.EnumConstantNotPresentException

Java.lang.IllegalArgumentException

       Java.lang.IllegalThreadStateException

       Java.lang.NumberFormatException

Java.lang.IllegalMonitorStateException

Java.lang.IllegalStateException

Java.lang.IndexOutOfBoundsException

       Java.lang.ArrayIndexOutOfBoundsException

       Java.lang.StringIndexOutOfBoundsException

Java.lang.NegativeArraySizeException’

Java.lang.NullPointerException

Java.lang.SecurityException

Java.lang.TypeNotPresentException

Java.lang.UnsupprotedOperationException

CheckedException

除了runtimeException以外的异常,都属于checkedException,它们都在java.lang库内部定义。Java编译器要求程序必须捕获或声明抛出这种异常。

一个方法必须通过throws语句在方法的声明部分说明它可能抛出但并未捕获的所有checkedException。

Java.lang.ClassNotFoundException

Java.lang.CloneNotSupportedException

Java.lang.IllegalAccessException

Java.lang.InterruptedException

Java.lang.NoSuchFieldException

Java.lang.NoSuchMetodException

Error

当程序发生不可控这种错误时,通常的做法是通知用户并中止程序的执行。

与异常不同的是Error及其子类的对象不应被抛出。

Error 是 Throwable 的子类,代表编译时间和系统错误,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。

在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。

它是uncheckedExcepiton。

程序出了那种异常JVM就会抛出相应的异常
比如代码:ArrayIndexOutOfBoundsException
public void demo1(){
try{
int a = 10/0;
}catch(ArithmeticException ae){
System.out.println(“算术运算异常:”+ae.getMessage());
}catch(Exception e){
System.out.println(“其他异常”+e.getMessage());
}
}

public void demo2(){
String strList[] = {"a","b","c"};
try{
String str = strList[4].toString();
}catch(ArrayIndexOutOfBoundsException ae){
System.out.println(“数组下标越界:”+ae.getMessage());
}catch(Exception e){
System.out.println(“其他异常”+e.getMessage());
}
}
总之Exception是所有异常的父类.如果你出现的异常被他的子类捕捉了,他就不会再捕捉比如demo2()方法如果是出现了ArrayIndexOutOfBoundsException
Exception就不会捕捉了!
那么为什么要捕捉多次呢?因为ArrayIndexOutOfBoundsException只是数组下标越界的异常,所以它比Exception更的仔细,更能说明异常的原因!
如果不是出现ArrayIndexOutOfBoundsException则Exception就会来捕捉

Java 异常的分类及处理 异常的分类 Java 中提供了丰富的异常类,这些异常类之间有严格的继承关系如下: JDK 中定义了一套完整的异常机制,所有异常都是Throwable的子类,分别为 Error(致命异常) 和 Exception (非致命异常) 。Error 是一种非常特殊的异常类型,他的出现标识着系统发生了不可控的错误,例如 StackOverflowError,OutOfMemoryError。这类错误,程序员是无法处理的,只能人工介入。 Execption 又分为checked 和 unchecked 阅读详情

相关推荐

FPGA实战:手把手教你用Verilog驱动4.3寸RGB触摸屏(附完整代码)

本文详细介绍了如何使用Verilog语言在FPGA上驱动4.3寸RGB触摸屏,包括时序设计、信号交互原理及完整代码实现。通过双计数器引擎设计和参数化模块,开发者可以高效构建800*480分辨率的显示驱动,并解决工程实践中的信号完整性和时序收敛问题。

rice5的博客 701

Java_异常

public DivideByMinusException(){ //调用Exception的无参构造super();public DivideByMinusException(String message){ //调用Exception的有参构造throw Exception 异常对象try{//打印捕获的异常信息//实现两数相除if(y<0){throw new DivideByMinusException("除数为负数");

qq_66589744的博客 1752

Unity机械拆装实战:5步搞定发动机模型交互式装配(附完整代码)

本文详细介绍了在Unity中实现高交互性机械拆装仿真的完整流程。以发动机模型为例,通过5个核心步骤:项目初始化与模型准备、核心交互实现、智能装配逻辑、场景管理与相机控制、进阶优化与扩展,系统讲解了从零构建交互式装配功能的方法,并提供了完整的代码示例。

weixin_28049429的博客 215

Java异常分类总结

Java异常异常可以看做在我们编程过程中遇到的一些意外情况,当出现这些意外情况时我们无法继续进程正常的逻辑处理,此时我们就可以抛出异常并进行处理。

Roda的博客 8372

AI大模型开发——transformer模型超全完整版(0基础可懂)

为了更深入的了解transformer模型,我们首先从transformer的诞生聊起吧。transformer在2017年由Vaswani等人首次提出,它摒弃了之前流行的循环神经网络和卷积神经网络的架构,引入了自注意力机制( Self-Attention),显著提高了处理序列数据的能力和效率。transformer模型的这种设计使其在处理长距离依赖问题时, 相比于传统的循环神经网络和长短期记忆网络(LSTM)表现得更加出色,至此, 开启了NLP技术的新篇章。

m0_74922316的博客 2120

宇树G1双足机器人SLAM开发环境搭建实战指南

SLAM(同步定位与建图)是机器人自主导航的核心技术。在双足人形机器人平台上,由于运动模型复杂、机身晃动带来高频IMU噪声,SLAM开发对环境配置和依赖管理提出了更高要求。以宇树G1为例,系统阐述如何通过Ubuntu 20.04、ROS Noetic与Docker容器化方案构建可复现的SLAM开发环境。先介绍依赖分层管理与版本锁定原理,再深入catkin工作空间编译、传感器驱动集成、网络与多机通信配置等工程实践,最后提供常见问题排查与避坑指南。这套方法论不仅适用于G1,也可迁移至其他双足或轮式机器人平台,帮

weixin_32025789的博客 265

【java异常有哪些分类?】

java异常有哪些分类? 下面是java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。 Throwable 是java异常的顶级类,所有异常都继承于这个类。 Error,Exception是异常类的两个大分类。 Error Error是非程序异常,即程序不能捕获的异常,一般是编译或者系统性的错误,如OutOfMemorry内存溢出异常等。 Exception Exception是程序异常类,由程序内部产生。Exception 又分为运行时异常,非运行时异常类。 运行时异常 运行时异常

尘归尘 码归码 1万+

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

【Java】全面解析异常(异常的分类、处理、抛出和捕获等)

程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。”1.算术异常/byzero在JAVA中,我们都知道0不能作为除数,只能作为被除数,如果把0作为除数,编译器就会提示我们出先算术异常了。2.数组越界异常5数组越界,我们应该也不陌生,在使用数组时,如果超过了数组的大小,就会形成越界。程序就会发生异常,从而终止运行。3.空指针异常对于数组arr,让它赋值为null,我并没有让它指向任何对象,它就是一个空指针。对于空指针进行访问,编译器就会提示我们空指针异常。和。......

云泽野の编程日记 6239

【100%通过率】华为OD机试真题 Python【数字最低位排序】【最低位排序】

2023华为OD机试真题 Python【数字最低位排序】【最低位排序】 给定一个非空数组(列表) 起元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位

MISAYAONE的博客 1901

定位分析RCU stall问题

在编译内核时打开或者在启动参数中增加这样统计信息是在采样周期中收集的。其中number行分别是发生stalled的cpu上的硬中断,软中断,和上下文的切换次数cputime行的前三列分别是硬中断,软中断和任务消耗的cpu时间,单位为ms.最后一个数字是统计的周期时间(ms).因为用户态的任务通常不会引起RCU CPU stalls,所以任务通常是内核任务,这也是为什么只统计system cpu的原因.

happyAnger6的专栏 1993

Java异常 (很详细)

在 Java 中,异常是在程序运行期间发生的不正常情况或错误。就是自己定义的异常。第二张图片就是我自己写的一个自定义异常,里面的方法,你可以直接使用父类的,按着Ctrl点击那个RuntimeException出现了这个,根据需求选择可以直接使用的。我使用的是上面这两个,改一下名字就可以直接使用。Exception是RuntimeException的父类,为什么会报错呢?因为根据体系图我们可以知道,Exception包括运行时异常和非运行时的异常,非运行时的异常必须在运行之前就声明异常。

shajjs的博客 7128

Chamfer Loss

ChamferLoss是一种常用于3D点云(pointcloud)处理的损失函数,特别是在点云生成和对齐任务中。它的目的是度量两个点集之间的相似度,特别是在点云重建、配准或生成等任务中,常用于优化模型使得生成的点云更接近真实的点云。

夜空中明亮的星的专栏 455

Java 异常分类

异常分类:Error 和 Exception Error Error 类是指 java 运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果 出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。 Exception(RuntimeException、CheckedException) Exception 又有两个分支,一个是运行时异...

张伯毅的专栏 2530

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java异常分类_JAVA

java014异常机制(1)异常的概念1)软件程序在运行过程中,非常可能遇到一些例外的情况,我们称之为异常,英文是:Exception,意思是例外。2)异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。(2)异常机制本质:程序出现错误,程序安全推出的机制。(3)Java是采用面向对象的方式来处理异常的。处理过程:1)抛出异常:在执行一个方法时,...

weixin_39718460的博客 415

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java异常处理和异常分类

一、背景信息: 异常才是程序遇到的最场景的情况。一段具有某种功能或者达到某种效果的程序,在理想的情况下,是完美的。这里的理想情况是程序不会遇到处理不了的异常,然后在大部分生产关系下,会面临各种各样的异常:IO错误、网络异常、不合法数据、容器越界、内存溢出等等。所以异常才是正常的情况。 面对着形形色色的异常,我们如果仅仅只是模式化的运用着JAVA的异常处理机制...

向来缘浅,奈何情深 1932

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java异常的分类

被架构师问的面试题1. 异常机制       异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。      传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函数的程序负责检查并分析函数返回的结果。这样做有如下的弊端:例如函数返

4万+

JAVA中的异常分类

Java中的异常分类   Java中的异常类,包括内置的异常类以及自定义的异常类,都直接或者间接地继承至java.lang.Throwable类。   1.       两个主要分支: 在java.lang包中,我们可以看到Throwable类有两个直接子类:Error类和Exception类,如图所示:            图 1. java异常类型层次

congcongsuiyue的专栏 1155

java java 检查型异常_Java异常——异常分类、声明检查型异常

一、异常的分类1、在Java程序设计语言中,异常对象都是派生于Throwable类的一个类的实例。如果Java的内置类不能满足需求,用户还可以创建自己的异常类。2、异常分为两支,Error和Exception。Error类层次描述了Java运行时系统的内部错误和资源耗尽错误。这种情况很少出现,如果出现了这种情况,就只能通知用户并妥善地终止程序。Exception类是应该重点关注的层次结构。3、Ex...

weixin_29688535的博客 3145

71. Java 异常分类

Java异常处理摘要 Java异常是程序运行时发生的非预期事件,分为受检异常(如IOException,需强制处理)和非受检异常(如NullPointerException)。异常处理通过try-catch捕获异常,finally确保资源释放,throws声明异常传递,throw主动抛出异常。

weixin_43484713的博客 859

java异常分类_java中异常概念及分类、捕获异常、声明异常

异常的概念_分类1.1异常的概念异常( Exception 也称例外)就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序所需文件找不到网络连接不通或中断算术运算错 (被零除…)数组下标越界装载一个不存在的类或者对null对象操作类型转换异常……当Java程序出现以上的异常时,就会在所处的方法中产生一个异常对象。这个异常对象包括异常的类型,异常出现时程序的运行状态以及对该异常的详细...

weixin_39970689的博客 264

JAVA异常分类及处理

JAVA异常分类及处理 概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KuyRC6YR-1579768931465)(C...

luoru的博客 216

java异常的主要分类_Java异常分类

一.基本概念Throwable是所有异常的根,Java.lang.ThrowableError是错误 java.lang.ErrorException是异常 java.lang.Exception二、Exception一般分为Checked异常和Runtime异常,所有RuntimeException类及其子类的实例被称为Runtime异常,不属于该范畴的异常则被称为CheckedExceptio...

weixin_42402730的博客 1041

Java异常分类及处理

Java异常分类及处理 一、概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下 会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用 这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。 二、异常分类 Throwable 是 Java 语言中所有错误或异常的超类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 实例分为 Error

qq_44365878的博客 360

java ssm 异常分类_Java常见异常分类

在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable:有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错...

weixin_35407400的博客 110

JAVA中的异常:异常的分类+异常的处理

运行时异常都是RuntimeException类以及它的子类异常,比如NullPointerException(空指针)、ArrayIndexOutOfBoundsException(数组越界异常)等,这些异常也是不检查异常,程序可以选择处理,也可以选择不处理,这类异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。其中异常类Exception又分为运行时异常和非运行时异常,这两个异常有很大区别,运行时异常也叫非受检异常,非运行时异常也叫受检异常。throws处理方式。

a289246的博客 995
上一篇: 深圳一家公司面试问题,很囧
下一篇: JDK1.6 Update21 下载
memory8G
博客等级 码龄16年 73粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值