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

相关推荐

  • 如何在研发中实现产品的快速迭代

    在产品研发领域中,实现快速迭代是保持竞争优势和满足市场需求的关键。1、精益启动的方法论可缩短开发周期,2、敏捷开发的实践则提高了团队的响应速度和灵活性;3、持续集成和持续部署(CI/CD)能够加速产品的交付速度;4、功能性最小可行产品(MVP)允许团队聚焦核心功能,以快速获得用户反馈;5、数据驱动决…

    2023年11月30日
    1500
  • 如何进行有效的绩效评估和考核

    有效的绩效评估和考核涉及以下关键步骤:1、明确评估目的和标准;2、选择合适的评估工具和方法;3、设立公平透明的流程;4、进行持续的沟通和反馈;5、结合考核结果做出人员决策。其中,选择合适的评估工具和方法是一个重要环节,需要确保所选工具与公司战略和文化相符,能准确反映员工的绩效和潜力。有效的绩效评估和…

    2023年8月21日
    11900
  • 硬件加速渲染开哪些好

    硬件加速渲染需要开启的选项:1、强制进行GPU渲染;2、强制启用4x MSAA;3、停用HW叠加层。其中,强制进行GPU渲染可以增加2D应用的流畅度,同时会增加手机的功耗。 1、强制进行GPU渲染 强制GPU渲染就是hwa(HardwareAcceleration硬件加速)的一种,能够得到更好源的优…

    2023年1月4日
    97400
  • 工作日志用什么软件

    写工作日志的软件有:1、Worktile;2、企业微信;3、Excel;4、日事清;5、SeaTable;6、Worklog。Worktile是新一代简单好用的团队协同工具,解决中小团队的效率、沟通、共享和记录问题,让你的团队随时随地一起工作。 一、工作日志用什么软件 1、Worktile Work…

    2023年4月8日
    1.3K00
  • 使用Wix在线网页生成工具制作网页,可以获取网页源码吗

    不能。Wix不允许直接获取网页源码。这是因为Wix使用自己的平台和技术来生成网页,而不是使用传统的HTML和CSS。因此,即使在Wix上创建了一个网站,也无法获得网页的源代码。 Wix不允许直接获取网页源码。这是因为Wix使用自己的平台和技术来生成网页,而不是使用传统的HTML和CSS。因此,即使在…

    2023年5月31日
    33700
  • 敏捷管理如何编写用户故事

    写好一个用户故事应遵循3C原则,即当把需求主题写在卡片(Card)后,通过交流(Conversation)澄清需求的细节,并作为确认(Confirmation)信息记录下来。用户故事完成后产品经理应从业务的角度定义故事的验收标准,确保故事被正确、完整的实现。 写好一个用户故事应遵循3C原则,即当把需…

    2023年3月21日
    11400
  • saas模式与传统软件的区别是什么

    saas模式与传统软件的区别在于:1、开发模式与交互模式的区别;2、软件盈利模式的不同;3、部署时间的不同;4、数据安全性的不同;5、集成性的不同。传统管理软件的开发模式,是以软件产品为中心,通过市场推广不断寻找更多的客户购买产品来实现业务增长。 一、开发模式与交互模式的区别 传统管理软件的开发模式…

    2023年4月23日
    14700
  • Java和Kotlin有哪些优劣势

    kotlin的优点是简化空对象的处理,属性访问代替Get/Set方法,可以快速创建List/Map集合类型,kotlin的缺点是编译速度不稳定,受不同情况影响较大。Java的优点是轻便,可跨平台,已有可用于开发过程的库和SDK;Java的缺点是速度比其他语言慢,需要更多的内存,而且是重类型语言。 K…

    2023年2月7日
    18500
  • C++的class与struct到底有什么不同

    C++的class与struct的不同点:1、类型不同;2、存储不同;3、成员属性不同;4、继承不同;5、能否使用模板。类型不同是指,struct是实值类型(Value Types),而class则是引用类型(Reference Types)。 一、C++的class与struct的不同点 1、类型…

    2023年4月15日
    63500
  • linux 驱动 哪些链表

    linux 驱动的链表:1、双向循环链表 list_head;2、哈希链表 hlist;3、无锁链表llist;4、降序优先排序的双向链表 plist。其中,双向循环链表 list_head存在于include/linux/list.h文件中,双向循环链表是将双向链表的头结点和尾结点链接起来的链表。…

    2023年1月3日
    17300

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部