Java中异常的分类

所有异常,都继承自java.lang.Throwable类。

Throwable有两个直接子类,Error类和Exception类。

Exception

Exception则可使从任何标准Java库的类方法,自己的方法以及运行时任何异常中抛出来的基类型。

异常可分为执行异常(RuntimeException)和检查异常(Checked Exceptions)两种

RuntimeException

RuntimeException在默认情况下会得到自动处理。所以通常用不着捕获RuntimeException,但在自己的封装里,也许仍然要选择抛出一部分RuntimeException。

RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需throws子句中进行声明。(java api)

它是uncheckedExcepiton。

Java.lang.ArithmeticException

Java.lang.ArrayStoreExcetpion

Java.lang.ClassCastException

Java.lang.EnumConstantNotPresentException

Java.lang.IllegalArgumentException

Java.lang.IllegalThreadStateException

Java.lang.NumberFormatException

Java.lang.IllegalMonitorStateException

Java.lang.IllegalStateException

Java.lang.IndexOutOfBoundsException

Java.lang.ArrayIndexOutOfBoundsException

Java.lang.StringIndexOutOfBoundsException

Java.lang.NegativeArraySizeException’

Java.lang.NullPointerException

Java.lang.SecurityException

Java.lang.TypeNotPresentException

Java.lang.UnsupprotedOperationException

CheckedException

除了runtimeException以外的异常,都属于checkedException,它们都在java.lang库内部定义。Java编译器要求程序必须捕获或声明抛出这种异常。

一个方法必须通过throws语句在方法的声明部分说明它可能抛出但并未捕获的所有checkedException。

Java.lang.ClassNotFoundException

Java.lang.CloneNotSupportedException

Java.lang.IllegalAccessException

Java.lang.InterruptedException

Java.lang.NoSuchFieldException

Java.lang.NoSuchMetodException

Error

当程序发生不可控这种错误时,通常的做法是通知用户并中止程序的执行。

与异常不同的是Error及其子类的对象不应被抛出。

Error 是 Throwable 的子类,代表编译时间和系统错误,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。

在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。

它是uncheckedExcepiton。

转载于:https://www.cnblogs.com/merlini/p/3997732.html

java 异常 检查型和非检查型相关推荐

  1. java 异常的检查型和非检查型

    Java中异常的分类 所有异常,都继承自java.lang.Throwable类. Throwable有两个直接子类,Error类和Exception类. Exception Exception则可使 ...

  2. JAVA异常实验:车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品

    车站检查危险品的设备,如果发现危险品会发出警告.编程模拟设备发现危险品: 编写能够满足如下条件的程序: 编写一个Exception的子类DangerException,该子类可以创建异常对象,该异常对 ...

  3. Java千百问_04异常处理(007)_常见的java异常有哪些(非运行时)

    1.常见的java运行时异常有哪些 了解非运行时异常看这里:什么是java中的异常  常见的运行时异常看这里:常见的运行时异常有哪些 我们所说的常见异常是jdk或者其他常用第三方jar中的异常,出现频 ...

  4. java各种的不好_译文《最常见的10种Java异常问题》

    封面:洛小汐 译者:潘潘 知彼知己,方能百战不殆. 前言 本文总结了有关Java异常的十大常见问题. 目录 检查型异常(checked) vs. 非检查型异常(Unchecked) 异常管理的最佳实践 ...

  5. java 异常_学习Java,你需要知道这些Java异常

    文章目录 异常处理的概念 异常的基本概念 Java异常处理机制的优点 错误的分类 异常的分类 预定义的一些常见异常 异常的处理 抛出异常 捕获异常的语法 生成异常对象 声明自己的异常类 异常处理的概念 ...

  6. Java异常面试题重点汇总

    Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程 ...

  7. 【2022最新Java面试宝典】—— Java异常面试题(33道含答案)

    目录 一.Java异常架构与异常关键字 1. Java异常简介 2. Java异常架构 1.Throwable 2. Error(错误) 3. Exception(异常) 运行时异常 编译时异常 3. ...

  8. 最最最全面的Java异常面试及解答

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | ThinkWon 来源 | blog.csdn ...

  9. 你所需要的java异常的处理和设计及深入理解,看这篇就差不多了

    一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看 ...

最新文章

  1. 系统如何安装到租的服务器,租用服务器后,检查及环境配置步骤
  2. 数据院携手汽车工程系,女生节尽展清华大数据风采~
  3. List(JDK1.7)(1)
  4. openEuler系统配置yum镜像源
  5. [图文] Fedora 28 使用 Virt-Manager 创建 KVM 虚拟机以及 配置 KVM 虚拟机
  6. 深入浅出学Hive:Hive参数
  7. cli3解决 ie11语法错误 vue_基于 Vue + Koa2 + MongoDB + Redis 实现一个完整的登录注册...
  8. python中的常量是什么意思_第14p,Python中的常量与注释。
  9. ORACLE 10G修改主机名后EM Enterprise Manager无法启动的解决办法-Robert
  10. [转]正则表达式中re.match、re.search、re.findall的用法和区别
  11. 曾经用过的Cookie
  12. java 从入门到精通PDF
  13. 遗传算法(Python)
  14. orcal添加序列让主键的自动增长
  15. c语言里strcpy作用是什么,c语言中的strcpy是什么意思?
  16. 华为防火墙L2TP/L2TP over IPSec
  17. 信鸽推送-10005错误
  18. linux socket函数详解,linuxSocket_函数.doc
  19. STM32之内存分布与总线
  20. 设计模式-代理模式 C#版本

热门文章

  1. 终于把结婚照片做成了MTV
  2. ICCV 2021 | 厉害了!首届 SoMoF 人体序列预测比赛冠军方案分享
  3. 北亚利桑那大学等推出:航拍森林火情检测数据集 FLAME
  4. 谷歌极速人脸、手、人体姿态分析Blaze算法家族
  5. 实时“头发-面部皮肤”分割与人脸肤色分类
  6. 波士顿动力再发逆天机器人视频:倒立、360°旋转、空中劈叉,真是秀儿
  7. CVPR最佳作者新作!无监督学习可变形3D对象
  8. 计算机视觉论文-2021-07-08
  9. 2023年中国AI论文影响力超越美国?
  10. Github | Facebook人工智能实验室出品Pythia模块框架