Effective Java之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)
java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。
异常分成三种结构
1.错误:Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error的任何子类,因为这些错误可能是再也不会发生的异常条件。
大多数这样的错误都是异常条件。
2.运行时异常:RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
可能在执行方法期间抛出但未被捕获的RuntimeException 的任何子类都无需在 throws 子句中进行声明。它是Exception的子类。
运行时异常和错误统称为未受检结构,运行时异常又叫未受检异常。
未受检结构的行为都是等同的,都是不需要也不应该抛出的,因为如果程序抛出了未受检异常或者错误,说明是不可恢复的异常,继续下去有害无益。
但是,他们的区别是runtimeException一般是编程错误,error一般是系统的错误。
3.受检异常:Exception类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。
定义方法时必须声明所有可能会抛出的exception; 在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去;exception是从java.lang.Exception类衍生出来的。例如:IOException,SQLException就属于Exception
Effective Java之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)相关推荐
- 22.Java之异常处理(异常介绍,异常体系图一览,运行时异常,编译异常,try-catch方式处理异常,throws异常处理,自定义异常,throws 和 throw 的区别)
22.1.异常介绍 Java语言中,将程序执行中发生的不正常情况称为 "异常" (开发过程中的语法错误和逻辑错误不是异常) 执行过程中所发生的异常事件分为两大类: Error:Ja ...
- java运行时异常能捕获吗_Java运行时异常
关于Java&Android面试题中时常提到的Java常见的运行时异常. Java运行时异常可能是Java虚拟机正常工作时抛出的异常. Java提出两种异常机制.检查时异常(Checked E ...
- Java 运行时异常
异常分类 Java中所有的异常都继承自java.lang.Throwable类.Throwable类有两个直接子类,Error类和Exception类: Error--程序无法处理的严重错误,编译器不 ...
- java受检异常与运行时异常
正确运用异常处理机制,有助于提高程序的健壮性. 所谓程序的健壮性,就是指程序在多数情况下能够正常运行,返回预期的正确结果:如果偶尔遇到异常情况,程序也能采取周到的解决措施. 受检查异常表示程序可以处理 ...
- java 运行时异常与非运行时异常理解
参考:https://blog.csdn.net/lan12334321234/article/details/70049446 所谓的异常就是阻止当前程序或方法继续执行的问题 java异常分为两种: ...
- java运行时异常中文_JAVA——运行时异常(RuntimeException)
Exception中有一个特殊的子类异常RuntimeException运行时异常. 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过. 如果在函数上声明了该异常.调用者可以不用进行处理.编译 ...
- java运行时异常与非运行时异常_java 运行时异常与非运行时异常理解
所谓的异常就是阻止当前程序或方法继续执行的问题. java异常分为两种:运行时异常(RuntimeException)和非运行时异常(CheckedException)也叫检查式异常. 1.运行时异常 ...
- java 运行时异常 处理_如何在Java中处理运行时异常?
运行时异常是Java编程语言所有异常的父类,这些异常在发生时会崩溃或崩溃,可能会破坏程序或应用程序.与不被视为运行时异常的异常不同,永远不会检查运行时异常. "运行时异常"通常显示 ...
- Java 运行时异常和非运行时异常
异常类型分为两类:运行时异常和非运行时异常. 一.运行时异常: 运行时异常(RuntimeException),一般不需要程序员进行捕获. 例如:NullPointException,IndexOut ...
最新文章
- 【c语言】蓝桥杯算法训练 判定数字
- NineImageForCircleFriends朋友圈九宫格
- yii框架相关知识(转)
- iOS地图定位(Map)
- 初识Linux——菜鸟篇
- 制作根文件系统出现错误:No init found
- HDLBits答案(6)_硬件模块设计的思考方式
- 为什么R语言是学习数据分析的第一选择
- IP,VIP,SCAN IP之间的关系是怎么样的呢?
- 程序员该如何进行 SQL 数据库的优化?
- 理科本科,无考试,读诗《宣州谢脁楼饯别校书叔云》李白
- C 语言是“最环保”的编程语言
- HTML5从入门到精通笔记
- windows7中文企业版安装英文语言包
- android重复点击屏幕,手机不ROOT.推荐一款android能用的屏幕连点器,类似按键精灵!...
- 【ybt金牌导航1-4-3】【luogu P2627】修剪草坪 / Mowing the Lawn G
- 如何理解P和NP问题
- excel单元格数据有效性自定义
- CSS入门4 文本样式
- 第二章 MATLAB数据与矩阵