异常类型

在 Java 中所有异常类型都是内置类 java.lang.Throwable 类的子类,即 Throwable 位于异常类层次结构的顶层。Throwable 类下有两个异常分支 Exception 和 Error,如图 1 所示。

Throwable 类是所有异常和错误的超类,下面有 Error 和 Exception 两个子类分别表示错误和异常。其中异常类 Exception 又分为运行时异常和非运行时异常,这两种异常有很大的区别,也称为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。

  • Exception 类用于用户程序可能出现的异常情况,它也是用来创建自定义异常类型类的类。
  • Error 定义了在通常环境下不希望被程序捕获的异常。Error 类型的异常用于 Java 运行时由系统显示与运行时系统本身有关的错误。堆栈溢出是这种错误的一例。
  • 本章不讨论关于 Error 类型的异常处理,因为它们通常是灾难性的致命错误,不是程序可以控制的。本章接下来的内容将讨论 Exception 类型的异常处理。

运行时异常都是 RuntimeException 类及其子类异常,如 NullPointerException、IndexOutOfBoundsException 等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。

非运行时异常是指 RuntimeException 以外的异常,类型上都属于 Exception 类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如 IOException、ClassNotFoundException 等以及用户自定义的 Exception 异常,一般情况下不自定义检查异常。表 1 列出了一些常见的异常类型及它们的作用。

表1 Java中常见的异常类型
异常类型 说明
Exception 异常层次结构的根类
RuntimeException 运行时异常,多数 java.lang 异常的根类
ArithmeticException 算术谱误异常,如以零做除数
ArraylndexOutOfBoundException 数组大小小于或大于实际的数组大小
NullPointerException 尝试访问 null 对象成员,空指针异常
ClassNotFoundException 不能加载所需的类
NumberF ormatException 数字转化格式异常,比如字符串到 float 型数字的转换无效
IOException I/O 异常的根类
F ileN otF oundException 找不到文件
EOFException 文件结束
InterruptedException 线程中断
IllegalArgumentException 方法接收到非法参数
ClassCastException 类型转换异常
SQLException 操作数据库异常

Java中常见的异常类型相关推荐

  1. java中两种异常类型_Java中的三种异常类型

    java中两种异常类型 Errors are the bane of users and programmers alike. Developers obviously don't want thei ...

  2. java中常见的异常类

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  3. Java 中常见的异常和自定义异常

    常见异常: java.lang.nullpointerexception    这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者 ...

  4. Java中常见的异常

    作为一名游戏开发者,程序员,很自然必须熟悉对程序的调试方法.而要调试程序,自然需要对程序中的常见的异常有一定的了解,这些日子很多朋友都提出了很多问题,都是关于游戏中的报错,因此在这里我将一些常见的程序 ...

  5. java中常见数据库字段类型与java.sql.Types的对应

    转自:http://blog.csdn.net/hbzyaxiu520/article/details/5457225 常见数据库字段类型与java.sql.Types的对应 Oracle与java. ...

  6. Java中常见的对象类型简述(DO、BO、DTO、VO、AO、PO)

    PO(bean.entity等命名): Persistant Object持久对象,数据库表中的记录在java对象中的显示状态 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作 ...

  7. Java中常见的十八种异常!

    作为一只敬业的程序员,就是不能接受我的编程出现bug!可见我们对bug是如此的深恶痛觉!它已成为我们职业生涯中的拦路虎,所以今天小千精心为大家总结一下Java中常见的几种异常,望大家多多注意. 1.j ...

  8. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  9. Java中非法参数的异常,java中常见的异常语句

    Java中常见的8种异常语句 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组下 ...

  10. JAVA中常见异常小结

    JAVA中常见异常小结 参考文章: (1)JAVA中常见异常小结 (2)https://www.cnblogs.com/lq147760524/p/6926175.html (3)https://ww ...

最新文章

  1. android 轮播 中间变大,如何实现中间大两头小的轮播效果
  2. PyCharm开启或关闭科学模式
  3. for..in与for..of比较
  4. qemu 安装windows_BIOS+MBR启动引导安装双系统
  5. P4070 [SDOI2016]生成魔咒
  6. MFC实现图像灰度、采样和量化功能详解
  7. 【华为云技术分享】【DevCloud · 敏捷智库】如何利用核心概念解决估算常见问题
  8. BZOJ3495 PA2010 Riddle 【2-sat】
  9. 苹果开始尝试直接从自家零售店发货 更快送达消费者手中
  10. git命令详解( 六 )
  11. easyexcel多个sheet导入_Easypoi实现excel多sheet表导入导出功能
  12. 服务器可以显示的血量显示,魔兽世界怀旧服怪物如何显示血量
  13. 编译错误:vulkan/vulkan.h:没有那个文件或目录
  14. 郑州轻工业大学2021-2022(1)期末模拟测试二答案
  15. 如何克服自己的懒惰-第二弹
  16. 华三防火墙web端口_设置H3C SecPath F100 系列防火墙的web访问
  17. galaxy tab p1000 升级android,三星Galaxy Tab P1000 简朴的刷机教程(附rom包下载地址)...
  18. 【音视频开发】基础知识:视频简介
  19. 生化危机 (深搜 建图)
  20. 支付宝如何获取buyer_id,我来告诉你

热门文章

  1. 商业楼与写字楼的区别详解
  2. Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1
  3. 如何在文件夹中打开DOS命令窗口
  4. C语言课程设计|职工工资管理系统
  5. 3.3 神策数据分析平台
  6. 三菱PLC Q系列大型程序伺服12轴Q01U RS232通讯CCD 应用
  7. 基于Matlab使用雷达和摄像头对公路车辆跟踪仿真(附源码)
  8. Python(2)——Python下载安装
  9. nv驱动版本linux,NV显卡Linux版驱动双响炮:一正式一测试
  10. 斐讯K3C官改V1.7D降级至官改V1.6