当前位置:首页 > Java技术 > [面试经]Java中的Exception和Error有什么区别?

[面试经]Java中的Exception和Error有什么区别?

2022年08月05日 20:32:47Java技术4

Exception和Error都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),他是异常处理机制的基本组成类型。

Exception是程序正常允许中,可以预料的意外情况,可能并且可以捕获,进行相应处理。

Exception又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源代码里必须显式地进行捕获处理,这是编译期检查的一部分。不检查异常就是所谓的运行时异常,类似NullPointerException、ArrayIndexOutOfBoundsException之类,通常是可以编码避免的逻辑错误,具体根据需要判断是否需要捕获,并不会在编译器强制要求。

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

考察重点 

1) 理解Throwable、Exception、Error的设计很分类,比如掌握那些应用最为广泛的子类,以及如何自定义异常等。[面试经]Java中的Exception和Error有什么区别? _ JavaClub全栈架构师技术笔记

2) 理解Java语言中操作Throwable的元素和实践,掌握最基本的语法是必须的,比如try-catch-finally块,throw、throws关键字等。

Java 7中try with resource,如果资源属于一个实现了AutoCloseable接口的类,try块结束时,会自动调用res.close(). 就好像是使用了finally块一样。

异常处理的基本原则:a. 尽量不要捕获类似Exception这样的通用异常,而是应该捕获特定异常。 b. 不要生吞异常。c. 也不要经常使用printStackTrace(),在复杂的系统里,很难判断到底输出到哪里去了。所以最好使用产品日志,详细地输出到日志系统里面。

 

另附常见异常

常见运行时异常:
[面试经]Java中的Exception和Error有什么区别? _ JavaClub全栈架构师技术笔记

 

常见非运行时异常:
  [面试经]Java中的Exception和Error有什么区别? _ JavaClub全栈架构师技术笔记

 

作者:奋斗的大肥猫
来源链接:https://www.cnblogs.com/tingtwang/p/11132599.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/18125.html

标签: 异常
分享给朋友:

“[面试经]Java中的Exception和Error有什么区别?” 的相关文章

浅谈java异常[Exception]

一. 异常的定义 在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要...

Java 异常基础 Exception

Java 异常基础 Exception

Java中的异常。包括异常的基本分类,处理异常的基本方法,自定义异常的方法和常见的一种有关异常的笔试面试题。 Java中的异常 Exception   java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常...

2.Java中Exception和Error的区别

2.Java中Exception和Error的区别

Exception和Error都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型 Error是指在正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序(比...

Android打印堆栈

Android打印堆栈 java打印堆栈 方法一:...

解决ADT不显示javadoc An exception occurred while getting the javadoc

这几天发现ADT在网速特别差的情况下,鼠标悬停不会显示javadoc,而自己写的注释则没有问题. 在网络畅通的时候又会显示javadoc. 所以我猜测ADT会在本地查找文档失败时候尝试联网查找. 一般来说,如果你之前鼠标悬停会显示javadoc,最近突然不显示了...

关于Java中Error和Exception的区别

  做个比喻:   Error和Exception的区别就是水池和水池里的水的区别;   水池,是代码正常运行的外部环境,如果水池奔溃(系统奔溃),或者池水满溢(内存溢出),这些跟水池外部环境有关的是Error;   水池里的水,是正常运行的代码,水污染了,有杂质了,...

Java使用dom4j读取xml时报错:org.dom4j.DocumentException: Error on line 2 of document : Invalid byte 2 of 2-byte UTF-8 sequence. Nested exception: Invalid byte 2 of 2-byte UTF-8 sequence

1.Java使用dom4j读取xml时报错:   org.dom4j.DocumentException: Error on line 2 of document  : Invalid byte 2 of 2-byte UTF-8 sequence. Nested ex...

浅谈 Android  Exception & Throwable 类

浅谈 Android Exception & Throwable 类

一、Throwable 类 概述:java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。 Error: 这种异常被设计成不被捕获,因为这种异常产生于JVM自身。 Runti...

UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define

UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define

问题描述: 最近在调试一个项目A,A项目需要依赖libraryB,C,D,在调试的时候遇到如下Error: Error:Execution failed for task ':BlogClient:transformClassesWithDexForDebug...

DAX: RPC error: RPC exception 5 in Ping occurred in session 36

Issue: BC Proxy account fails to start for the SSRS reports in Enterprise Portal with RPC exception 5 When Enterprise Portal starts for...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。