java中的异常(整理)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java中的异常(整理)

java中的异常(整理)

 2013/9/10 1:06:44  yuyongyu  程序员俱乐部  我要评论(0)
  • 摘要:参考:http://www.cnblogs.com/focusj/archive/2011/12/26/2301524.html世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默默承受,静静处理。------异常处理中的基情一、java中的异常体系Throwable类是Java语言中所有错误或异常的超类(这就是一切皆可抛的东西),它有两个子类:Error和Exception。Error:用于指示合理的应用程序不应该试图捕获的严重问题。这种情况是很大的问题,大到你不能处理了
  • 标签:Java 异常
参考:http://www.cnblogs.com/focusj/archive/2011/12/26/2301524.html
世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默默承受,静静处理。------异常处理中的基情

一、java中的异常体系Throwable 类是 Java 语言中所有错误或异常的超类(这就是一切皆可抛的东西),它有两个子类:Error和Exception。

Error:用于指示合理的应用程序不应该试图捕获的严重问题。这种情况是很大的问题,大到你不能处理了,所以听之任之就行了,你不用管它。

Exception:它指出了合理的应用程序想要捕获的条件。Exception又分为两类:一种是CheckedException,一种是UncheckedException。

CheckedException:我们在编写程序过程中try...catch...捕捉的异常都是CheckedException。如io包中的IOException及其子类,这些都是CheckedException。这种异常的特点是要么用try...catch捕获处理,要么用throws语句声明抛出,否则编译不会通过。

UncheckedException又叫做运行时异常(RuntimeException)。如IllegalArgumentException、IllegalStateException、NullPointerException、IndexOutOfBoundsException等等。这种异常的特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。

小结:
CheckedException与UncheckedException的主要区别:
1.CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。
2.对于可恢复的条件使用被检查的异常(CheckedException),对于程序错误(言外之意不可恢复,大错已经酿成)使用运行时异常(RuntimeException)。

二、异常处理的语法规则:
1.try语句不能单独存在,可以和catch、finally组成 try...catch...finally、try...catch、try...finally三种结构,catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。

2.try、catch、finally三个代码块中变量的作用域分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些块的外面。

3.多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。

4.throw语句后不允许有紧跟其他语句,因为这些没有机会执行。
 
5.如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。

小结:
throw和throws关键字的区别:
throw用来抛出一个异常,在方法体内。语法格式为:throw 异常对象。
throws用来声明方法可能会抛出什么异常,在方法名后,语法格式为:throws 异常类型1,异常类型2...异常类型n。

发表评论
用户名: 匿名