java中的异常(Exception)介绍
2015-09-12 10:03
1846 查看
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 - 不支持的操作异常
异常(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 - 不支持的操作异常
相关文章推荐
- 利用Eclipse构建Spark集成开发环境
- java多态初步
- 【Java】_ 基础概念篇(快速入门)
- [Java Core]Java类的equals方法的实现
- Java中可变长参数的使用及注意事项
- Java 异常处理 理解
- 简单介绍Java编程中的线程池
- 【Java多线程】-线程中断
- java 找不到或无法加载主类
- printStackTrace()输出和System.out输出非调用顺序输出
- JAVA编程的三个方向 笔记大纲
- 10个实用的但偏执的Java编程技术
- JAVA 安装环境变量配置
- Java设计模式模式观测(Observer Pattern)
- JVM(java 虚拟机)内存设置
- Spring MVC hello world annotation example
- 【小熊刷题】Letter Combinations of a Phone Number <Leetcode 17, Java>
- 【小熊刷题】3Sum Closest <Leetcode 16, Java>
- spring,cxf,restful发布webservice传递List,Map,List<Map>
- eclipse的svn插件出现问题,64位系统,解决方法