java异常 笔试面试考点1 :java异常体系,检查异常与非检查异常
Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。
Throwable又派生出Error类和Exception类。
错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。
异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。
总体上,javac将异常分为非检查异常(又称运行时异常)与检查异常(又称编译时异常)两类:
非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用try…catch…finally)这样的异常,也可以不处理。对于这些异常,我们应该修正代码,而不是去通过异常处理器处理 。这样的异常发生的原因多半是代码写的有问题。如除0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界ArrayIndexOutOfBoundsException,使用了空对象NullPointerException等等。
下表展示了java常见非检查异常类型
检查异常(checked exception):除了Error 和 RuntimeException的其它异常。javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。如SQLException , IOException,ClassNotFoundException 等。
下表展示了java常见检查异常
异常是在执行某个函数时引发的,而函数又是层级调用,形成调用栈的,因为,只要一个函数发生了异常,那么其所有的调用者都会被异常影响。当这些被影响的函数以异常信息输出时,就形成的了异常追踪栈。异常最先发生的地方,叫做异常抛出点。
- Java常见笔试面试题目解析(十):Java中检查的异常与未检查的异常
- JAVA Exception异常总结(JAVA Exception面试笔试总结)
- Java常见笔试面试题目解析(三):Java中异常执行流程
- Java常见笔试及面试考点总结
- 曾经自己面试被难倒的问题。Java中检查的异常与未检查的异常
- Java面试笔试考点精讲视频教程
- Java面试笔试指南(五)---异常处理、输入输出流、内存管理
- Java面试笔试考点精讲视频教程
- Java异常 体系
- java面试笔试题大汇总
- Java异常的面试问题及答案-Part 1
- java 关于继承的一些重要知识点(面试易考点)
- java异常体系以及异常的捕获和处理和图解详解
- java面试笔试题大汇总
- Android面试系列文章2018之Java部分异常篇
- java面试笔试必备-基本概念
- Java异常的面试问题及答案
- 转载:Java面试笔试题大汇总
- 【笔试面试必备】Java排序汇总
- JAVA面试笔试汇总--(持续更新)