java Error 和Execption的区别

java Error 和Execption的区别有:1、含义不同;2、用途不同;3、继承不同。Error类一般是与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。Exception类表示程序可以处理的异常,可以捕获且可能恢复。

java Error 和Execption的区别-Worktile社区

1、含义不同

Error类一般是与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。

Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。

2、用途不同

Exception和Error体现了Java平台设计者对不同异常情况的分类。Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

Error是指在正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序处于非正常的、不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如OutOfMemoryError之类,都是Error的子类。

3、继承不同

Error和Exception都是Throwable的子类。所以从根本上你可以理解他们是差不多的,程序出了问题就抛出。然后一般意义来讲,区别就是Error比Exception更严重,不易通过后续代码处理和修复,不应该被代码catch到的错误。而Exception是指严重程度较轻的程序问题,相较于Error更容易被后续代码处理和修复的,有些需要通过try catch代码处理,有些不建议通过try catch代码处理。

延伸阅读:

什么是Exception?

Java Exception 异常处理机制其实起源很早,所以它也不是个什么新鲜的东西,如果您对Exception机制一点都不了解,没关系,只是国内通常接触新事物的时间都相对的要晚老美几年,但了解Java Exception机制对Java开发人员来说是必要的,不过Exception 异常处理机制也并没有固定,在Anders 的眼里它也是一个试验性的东西。 理论上异常处理划分为两个模型(中止模型与继续模型),但实际使用方面我们对中止模型用的比较多,这个模型比较实用,而继续模型则不是那么的应用普遍,多少是耦合的过于紧密。

让异常处理与业务逻辑的主线分离,我们可以对可以遇见的异常作分支处理,其实将业务逻辑与异常处理分离也是Exception设计的主旨,其次Java Exception 不需要像C语言那样在程序的多个地方去检测同一个错误,并就地作异常的处理,相比老式的错误处理,现行的错误处理的结构则来的更加清晰。

文章标题:java Error 和Execption的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37819

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月12日 下午4:32
下一篇 2023年2月12日 下午4:35

相关推荐

  • 小孩什么时候可以学编程

    孩子们可以在8岁左右开始学习编程。 关键在于他们能够接触到适合年龄的编程工具和语言,如图形化编程平台Scratch,能够让他们在玩乐中学习基本的编程概念和逻辑思维能力的培养。此阶段的编程学习并不要求孩子们有复杂的数学能力或是深入的计算机科学知识,而是通过实践和创造有趣的项目来培养他们的兴趣和解决问题…

    2024年4月27日
    1300
  • 编程从什么开始学

    编程从什么开始学 摘要 编程的学习之旅通常始于1、选择一个编程语言,2、理解编程基础,3、实践与项目经验,以及4、持续学习与进步。选择一个编程语言是基础且至关重要的第一步,它为你的编程旅程定下了基调。选择时,应考虑语言的适用领域、资源可用性、社区支持和个人兴趣。例如,Python因其简洁性和广泛的应…

    2024年4月25日
    2600
  • 核桃编程初赛考什么

    核桃编程初赛考查内容主要包括3个方面:1、基础编程理论,2、逻辑思维能力,3、编程实践技能。其中,基础编程理论是基石,它涵盖了编程语言的基本语法、数据结构与算法等核心知识。在所有考查点中,逻辑思维能力尤为重要,它直接关系到解题的效率和准确性。逻辑思维能力体现在对问题的分析、归纳、推理过程中,是编程高…

    2024年4月27日
    1100
  • 什么是五轴数控中心编程

    五轴数控中心编程是应用于数控机械加工中心的一种编程技术,特指能够控制机床工作头或工作台在五个不同轴向同步运动的编程方式。它主要包括:1、工具路径规划;2、刀具补偿设置;3、加工参数选择;4、多轴联动控制以及5、误差修正。 五轴数控编程相较于传统的三轴编程,能够提供更复杂的工件加工,更精细的表面处理,…

    2024年4月27日
    1100
  • Java中上转型和重写有什么区别

    区别是:向上转型是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B“重写”A的方法。子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。 向上转型 向上转型,JAVA中的一种调用方式。向上转型是对A的对…

    2023年2月12日
    45000
  • 编程的软件用什么配置电脑

    编程专用的电脑配置主要包括4点:1、高性能的处理器;2、足够的内存;3、大容量的存储空间;4、良好的散热系统。针对高性能处理器的选择,它是编程电脑配置中的关键。一个强大的处理器能够更快地编译代码,尤其是当处理大型项目或进行数据密集型任务时。选择拥有多核心的处理器可以显著提升多任务处理能力及编译速度,…

    2024年4月27日
    900
  • b612里的编程是什么

    B612里的编程主要是指1、滤镜算法编程、2、人工智能美颜技术、3、用户交互体验设计。滤镜算法编程尤其引人注目,它不仅包括色彩调整、图像锐化等基本处理,更融入了复杂的算法来模拟各种光线效果和质感,为用户提供多样化的视觉体验。这种编程需要深厚的数学理论支撑和创新的图像处理技术,旨在通过对光线、色调的精…

    2024年4月28日
    900
  • 学编程报什么专业

    学习编程,应报读的专业主要包括1、计算机科学与技术、2、软件工程、3、信息技术、4、网络工程。 其中,计算机科学与技术专业着重于基础理论与实际技能的培养,涵盖从数据结构、算法分析到系统设计、网络安全等全方位的课程。学习这个专业的学生将掌握计算机系统的设计、开发、测试、维护以及应用等方面的知识和技能,…

    2024年4月26日
    1400
  • 数控编程M33 什么意思

    在今天的高速发展的数控加工领域中,M33 代表的是一种特殊的机器指令,用于实现特定功能。在众多的数控编程指令中,M33常被用于控制器在特定操作下的同步功能。这一功能尤为关键,它允许设备在执行复杂加工任务时保持精确的同步性。展开来说,M33指令的应用通常见于需同步转动工具和工件或同时控制多轴运动的场合…

    2024年4月27日
    1300
  • 什么是编程语法

    编程语法是编程语言中规定的、用以构造程序的指令、结构和格式的集合。 在编程语言中,语法起到了定义程序结构和组织代码的重要作用。正如在人类语言中语法规定了单词和短语如何组合成句子,编程语法规定了如何将代码元素(如关键字、变量、操作符等)组合成有效的指令或声明。 理解编程的基本构造块是任何编程学习的关键…

    2024年4月26日
    2700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部