1.Throwable是所有异常的根(java.lang.Throwable)
2.Error是错误(java.lang.Error)

当程序发生不可控的错误时,程序会报错,Error及其子类的对象不应被抛出。

3.Exception是异常(java.lang.Exception)

Exception一般分为Checked异常和Runtime异常

所有RuntimeException类及其子类的实例被称为Runtime异常,

不属于该范畴的异常则被称为CheckedException。

3.1.Runtime异常

为了保障程序的健壮性,Runtime异常都不应该被捕捉,而是之前做判断

常见的Runtime异常

算术异常类:ArithmeticExecption

例:BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常如下:

java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.math.BigDecimal.divide(Unknown Source)

解决方法:给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)

例:当除数为0时,会抛出:java.lang.ArithmeticException : / by zero

空指针异常类:NullPointerException

例:对null成员做任何操作都会报这个错
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException

3.2.CheckedException异常

对于CheckedException异常JAVA要求程序员对其进行try catch

例:查询数据库时需要抛出:FileNotFoundException

例:java.lang.ThreadDeath线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。

Java异常分类及处理的更多相关文章

  1. Java异常分类 转载

    Java异常分类 http://blog.csdn.net/woshixuye/article/details/8230407     一.基本概念 看java的异常结构图 Throwable是所有异 ...

  2. Android(java)学习笔记168:Java异常分类

    Java异常可分为3种: (1)编译时异常:Java.lang.Exception (2)运行期异常:Java.lang.RuntimeException (3)错误:Java.lang.Error

  3. Java 异常分类

    1.java异常层次结构: 粉红色的是已检查异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.已检查异常必须在编译时被 ...

  4. JAVA 异常分类与理解

    摘自CSDN:::::http://blog.csdn.net/hguisu/article/details/6155636 1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了 ...

  5. Android(java)学习笔记111:Java异常分类

    Java异常可分为3种: (1)编译时异常:Java.lang.Exception (2)运行期异常:Java.lang.RuntimeException (3)错误:Java.lang.Error

  6. Java异常分类

    一.基本概念 看java的异常结构图 Throwable是所有异常的根,java.lang.ThrowableError是错误,java.lang.ErrorException是异常,java.lan ...

  7. 【总结】Java异常分类

    链接:https://www.nowcoder.com/questionTerminal/3ded1983c85c4ae197e005bd31777bc7来源:牛客网 Throwable是所有异常的根 ...

  8. java异常分类(运行时异常,可检查异常)

    NullPointerException:是运行时异常(RuntimeException),也叫非检查异常 所以我们抛出该类异常实例时,方法声明处无需添加throws来列举该类异常的抛出,编译器在编译 ...

  9. Java自学-异常处理 异常分类

    Java 中异常的分类 异常分类: 可查异常,运行时异常和错误3种 其中,运行时异常和错误又叫非可查异常 步骤 1 : 可查异常 可查异常: CheckedException 可查异常即必须进行处理的 ...

随机推荐

  1. 详细领悟ThreadLocal变量

    关于对ThreadLocal变量的理解,我今天查看一下午的博客,自己也写了demo来测试来看自己的理解到底是不是那么回事.从看到博客引出不解,到仔细查看ThreadLocal源码(JDK1.8),我觉 ...

  2. Unity3d场景漫游---iTween实现

    接触U3D以来,我做过的场景漫游实现方式一般有以下几种: Unity3d中的Animation组件,通过设置摄像机的关键点实现场景漫游 第一人称或第三人称控制器 编写摄像机控制脚本 iTween iT ...

  3. 自定义 Layout布局 UICollectionViewLayout

    from:   http://www.tuicool.com/articles/vuyIriN 当我们使用系统自带的UICollectionViewFlowLayout无法实现我们的布局时,我们就可以 ...

  4. CoreAnimation 寄宿图

    #CoreAnimation 寄宿图 寄宿图:图层中所包含的图 by:旭宝爱吃鱼 针对于寄宿图我在这里只讨论contents属性以及Custom Drawing. contents content:内 ...

  5. Golang版protobuf编译

    官方网址: https://developers.google.com/protocol-buffers/ (需要FQ) 代码仓库: https://github.com/google/protobu ...

  6. Maven项目搭建(一):Maven初体验

    今天给大家介绍一个项目管理和综合工具:Maven. Maven: maven读作 ['meivin],本意是指可以被信任的领域专家,致力于传播知识(来自于http://en.wikipedia.org ...

  7. 你可记得曾经的-------- C#面向对象的“基础”

    1.C#中构造函数定义的理解:     ①构造函数名与所在的类名相同     ②构造函数可以重载     ③构造函数可以带参数     ④构造函数没有返回值,且不允许写出void,可以有参也可以无参 ...

  8. Jdom读取XML文件

    学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方式--Jdom 首先我们到Jdo ...

  9. Array对象

    1.    Array定义 Array是可以保存任意变量的.也就是说,第一项可以是一个基本类型,第二项就可以是一个引用类型,长度也是根据内容动态增加的 var arr = new Array(); 当 ...

  10. C#全局鼠标键盘Hook

    原文出自:http://www.cnblogs.com/iEgrhn/archive/2008/02/17/1071392.html using System; using System.Collec ...