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 阅读详情

相关推荐

科研党必备:5分钟搞定MATLAB闪退问题(含R2020a-R2023b各版本适配)

本文针对科研人员常见的MATLAB闪退问题,提供了从R2020a到R2023b各版本的适配解决方案。通过分析六大诱因和版本定制化修复方法,帮助用户快速诊断和解决闪退问题,包括内存优化、高级调试和预防性维护等实用技巧,确保科研计算的连续性和稳定性。

t1u2v的博客 1957

Java_异常

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

qq_66589744的博客 1752

别让PEX和后仿真拖后腿:Calibre与Virtuoso ADE联调的那些‘坑’与最佳实践

本文深入探讨了Calibre与Virtuoso ADE在PEX寄生参数提取和后仿真联调中的常见问题与解决方案。针对DRC/LVS验证通过后出现的网表导入错误和仿真波形异常,提供了七大典型场景的实战经验,包括PEX提取模式选择、CalibreView生成细节、环境变量配置等关键环节的最佳实践,助力工程师高效完成芯片设计验证。

weixin_33695450的博客 392

Java异常分类总结

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

Roda的博客 8372

ATAC-seq差异分析实战:从原始数据到GO富集(R/Bioconductor全流程)

本文提供了ATAC-seq差异分析的完整R/Bioconductor实战流程,涵盖从原始数据准备、一致峰集构建、计数矩阵生成,到使用DESeq2进行差异可及性分析,以及差异峰的基因组注释与GO富集分析。文章详细讲解了关键步骤、参数设置和常见问题,旨在帮助研究者获得可靠且可解释的生物学结果。

weixin_29246195的博客 228

CoppeliaSim(原V-REP)新手上路

CoppeliaSim(原V-REP)是一个机器人仿真平台,里面有很多来自别的公司的机器人模型以及完备的物理引擎,我们可以通过python,c++,matlab等语言控制里面的机器人。,您也可以在官网中Downloads里找您需要的版本,一般只需要下载EDU版本就可以了,我下载的是v4.1.0 windows EDU版本。在版本V4之前,CoppeliaSim叫V-REP,在官网可以下载到之前的V-REP版本。

qq_37051669的博客 4万+

【java异常有哪些分类?】

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

尘归尘 码归码 1万+

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658

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

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

云泽野の编程日记 6239

uniapp [全端兼容] - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,uniAPP实现vr看720度全景效果示例代码(H5小程序APP全兼容)

uniapp显示720度全景图,720°全景图显示,在h5中展示720°全景图,浏览全景图,基于uniApp实现vr全景预览,加载全景图,uni-app全景预览插件,UNI-APP实现3D全景图,实现720°全景图展示,uniapp全景视频播放,uniapp项目实现vr720度全景图片预览,在网页上展示760全景图片和视频,全景图场景切换,UNIAPP全景VR图,uniapp加载720全景图_uniapp怎么加载vr图片,uniapp实现vr全景看房,uni-app实现全景效果,加载很慢卡怎么办,实现全景预

🏆 前端领域优质创作者 1万+

LVGL 丝滑菜单3(Silk Menu)

h。

摸鱼专家 88

Java异常 (很详细)

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

shajjs的博客 7128

Uniapp返回上一页并刷新:亲测有效的 goBack 实现技巧!

这个技巧在实际开发中非常常用,特别适合表单提交后返回列表刷新这类场景。比起依赖onShow或复杂的vuex状态同步,这种方式更直接、好维护,也不容易出 bug。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1841

Java 异常分类

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

张伯毅的专栏 2530

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

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

java异常分类_JAVA

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

weixin_39718460的博客 415

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java异常处理和异常分类

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

向来缘浅,奈何情深 1932

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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、付费专栏及课程。

余额充值