java中的异常(Exception)介绍(1)
异常(Exception)是指正常程序不能处理或者没有处理的异常情况或者异常事件。
举个很简单的例子,就像生活中保险(insurance)。看下面没有做任何防范措施的对比:
车————车坏了————那就只能坏了,自己掏钱休,或者换车咯。
程序————有bug————程序没有处理,死掉了。
比如说你有一个程序是需要用户输入整数的,可是用户输入了一个小数。这个程序如果没有考虑到这种情况,这时候无法处理,就只能死掉了。这时候为了方便,程序就有了异常处理,车也有车保这么一说了,看下面对比:
车————(买保险)————车坏了————有赔偿————减少损失
程序————(扑捉异常)————程序出意外————扑捉异常————程序可以运行。
所以,程序中的异常就像车的保险一样,甚至于发生的频率比车更高,发生得也更容易。
java中的异常主要分为两类:受检异常(Checked Exception) 和非受检异常(Unchecked Exception)
Checked Exception:指在编译时就能由java编译器所检测到的,编译时异常。
Unchecked Exception:不能再编译时由编译器检测的,包括Runtime Exception(运行时异常)和Error(错误)
常见的Runtime Exception:
NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常
举个很简单的例子,就像生活中保险(insurance)。看下面没有做任何防范措施的对比:
车————车坏了————那就只能坏了,自己掏钱休,或者换车咯。
程序————有bug————程序没有处理,死掉了。
比如说你有一个程序是需要用户输入整数的,可是用户输入了一个小数。这个程序如果没有考虑到这种情况,这时候无法处理,就只能死掉了。这时候为了方便,程序就有了异常处理,车也有车保这么一说了,看下面对比:
车————(买保险)————车坏了————有赔偿————减少损失
程序————(扑捉异常)————程序出意外————扑捉异常————程序可以运行。
所以,程序中的异常就像车的保险一样,甚至于发生的频率比车更高,发生得也更容易。
java中的异常主要分为两类:受检异常(Checked Exception) 和非受检异常(Unchecked Exception)
Checked Exception:指在编译时就能由java编译器所检测到的,编译时异常。
Unchecked Exception:不能再编译时由编译器检测的,包括Runtime Exception(运行时异常)和Error(错误)
常见的Runtime Exception:
NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常