读书人

【CXY】JAVA基础 之 错误

发布时间: 2013-02-28 11:33:09 作者: rapoo

【CXY】JAVA基础 之 异常

讲述:

1.五个关键字

1.try:尝试捕获异常,具体的下面讲述

2.catch:当try捕获到异常了,系统会自动生成一个异常信息,这个异常信息就给catch,形象的说我抓住了这个异常。

3.throw:主动的抛出一个异常

情况一:我发现了一个我处理不了的 并且会导致我程序不正常运行的错误,于是我将这个异常抛出去了。(抛给谁了?这个视情况而定)

情况二:我发现了一个不太对的地方会影响我今后的程序运行,为了避免更大的错误产生,我先主动的提出(抛出)这个“问题”

4.throws:方法声明 会抛出这样的异常,用于自定义异常。(初学者 可以暂时绕过)

5.finally:

无论是否发生异常,程序必须执行的代码块。例如:经典的关闭数据库连接例子。多用于执行清理工作。

finally看似很“权威”(必须执行),但是System.exit(1);会让它丧失这个权威性。

2.try+catch

1.联合出击保证程序正常运行。

2.理解:

我们希望写出这样的程序:if(程序正常){我的操作} else{处理不正常}

但是这个程序正常太泛泛了 我们没办法定义它或者枚举它,于是我们用try去监视我们的操作是否正常,

当他不正常的时候,我们抓住这个不正常的情况 处理它。

try-catch 就是在做这么一件有意义的事。

3.注意(新手看不懂可以先绕过):

1.catch可以有多个,谁能抓住谁抓,抓不住就让别人去抓,但是这个是需要层级的(范围小的先catch)

2.try块中的变量只能在try中使用。

3.java7中提供了一次catch多个异常的方式,每个异常使用|分割(注意只有在jdk7下才能使用)

4.java7下的AutoCloseable接口可以使得程序简化有兴趣可自己百度或者查看java api

4.Exception的几个方法(见例子)

5.自定义一个异常:

1.上文说过不肯能枚举所有的异常情况,即便枚举了,但是你也不能冲破认知差异性。(在大象的世界里人类就是异类)

2.定义一个拥有自己业务逻辑的异常类

3.实现方式:继承Exception 或者他的子类


相关文章连接:

《JAVA基础 之 异常概述》

《JAVA基础 之 异常追踪栈》

声明:

1.原创文章,转载请标明并加本文连接。

2.更详尽的API请参见 http://docs.oracle.com/javase/7/docs/api/

3.文章反映个人愚见,如有异议欢迎讨论指正

读书人网 >编程

热点推荐