Java中的异常体系

 

 

Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。 

 Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。

Exception:表示可恢复的例外,这是可捕捉到的。

 1.运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。
2.非运行时异常 (编译异常):是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。

常见的RunTime异常几种如下

 

NullPointerException - 空指针引用异常 
ClassCastException - 类型强制转换异常。 
IllegalArgumentException - 传递非法参数异常。 
ArithmeticException - 算术运算异常 
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常 
IndexOutOfBoundsException - 下标越界异常 
NegativeArraySizeException - 创建一个大小为负数的数组错误异常 
NumberFormatException - 数字格式异常 
SecurityException - 安全异常 
UnsupportedOperationException - 不支持的操作异常

 

posted on 2022-03-19 11:05  -G  阅读(21)  评论(0编辑  收藏  举报

导航