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之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)相关推荐

  1. 22.Java之异常处理(异常介绍,异常体系图一览,运行时异常,编译异常,try-catch方式处理异常,throws异常处理,自定义异常,throws 和 throw 的区别)

    22.1.异常介绍 Java语言中,将程序执行中发生的不正常情况称为 "异常" (开发过程中的语法错误和逻辑错误不是异常) 执行过程中所发生的异常事件分为两大类: Error:Ja ...

  2. java运行时异常能捕获吗_Java运行时异常

    关于Java&Android面试题中时常提到的Java常见的运行时异常. Java运行时异常可能是Java虚拟机正常工作时抛出的异常. Java提出两种异常机制.检查时异常(Checked E ...

  3. Java 运行时异常

    异常分类 Java中所有的异常都继承自java.lang.Throwable类.Throwable类有两个直接子类,Error类和Exception类: Error--程序无法处理的严重错误,编译器不 ...

  4. java受检异常与运行时异常

    正确运用异常处理机制,有助于提高程序的健壮性. 所谓程序的健壮性,就是指程序在多数情况下能够正常运行,返回预期的正确结果:如果偶尔遇到异常情况,程序也能采取周到的解决措施. 受检查异常表示程序可以处理 ...

  5. java 运行时异常与非运行时异常理解

    参考:https://blog.csdn.net/lan12334321234/article/details/70049446 所谓的异常就是阻止当前程序或方法继续执行的问题 java异常分为两种: ...

  6. java运行时异常中文_JAVA——运行时异常(RuntimeException)

    Exception中有一个特殊的子类异常RuntimeException运行时异常. 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过. 如果在函数上声明了该异常.调用者可以不用进行处理.编译 ...

  7. java运行时异常与非运行时异常_java 运行时异常与非运行时异常理解

    所谓的异常就是阻止当前程序或方法继续执行的问题. java异常分为两种:运行时异常(RuntimeException)和非运行时异常(CheckedException)也叫检查式异常. 1.运行时异常 ...

  8. java 运行时异常 处理_如何在Java中处理运行时异常?

    运行时异常是Java编程语言所有异常的父类,这些异常在发生时会崩溃或崩溃,可能会破坏程序或应用程序.与不被视为运行时异常的异常不同,永远不会检查运行时异常. "运行时异常"通常显示 ...

  9. Java 运行时异常和非运行时异常

    异常类型分为两类:运行时异常和非运行时异常. 一.运行时异常: 运行时异常(RuntimeException),一般不需要程序员进行捕获. 例如:NullPointException,IndexOut ...

最新文章

  1. 【c语言】蓝桥杯算法训练 判定数字
  2. NineImageForCircleFriends朋友圈九宫格
  3. yii框架相关知识(转)
  4. iOS地图定位(Map)
  5. 初识Linux——菜鸟篇
  6. 制作根文件系统出现错误:No init found
  7. HDLBits答案(6)_硬件模块设计的思考方式
  8. 为什么R语言是学习数据分析的第一选择
  9. IP,VIP,SCAN IP之间的关系是怎么样的呢?
  10. 程序员该如何进行 SQL 数据库的优化?
  11. 理科本科,无考试,读诗《宣州谢脁楼饯别校书叔云》李白
  12. C 语言是“最环保”的编程语言
  13. HTML5从入门到精通笔记
  14. windows7中文企业版安装英文语言包
  15. android重复点击屏幕,手机不ROOT.推荐一款android能用的屏幕连点器,类似按键精灵!...
  16. 【ybt金牌导航1-4-3】【luogu P2627】修剪草坪 / Mowing the Lawn G
  17. 如何理解P和NP问题
  18. excel单元格数据有效性自定义
  19. CSS入门4 文本样式
  20. 第二章 MATLAB数据与矩阵

热门文章

  1. protobuf入门教程(二):消息类型
  2. C++ 如何一次在堆上申请4G的内存?如何设计一个类只能在堆或者栈上创建对象?
  3. Django框架实现支付宝第三方支付
  4. 顶级c程序员之路 基础篇 - 第一章 关键字的深度理解 number-1
  5. 容器与Pod到底有什么区别和联系?
  6. 从零开始玩转JMX(二)——Condition
  7. 阿里、字节为何都如此偏爱Go语言?
  8. 高并发服务遇 redis 瓶颈引发的事故
  9. QUIC协议的演进之路
  10. FFmpeg深度学习模块的历史、现状和计划