现在的位置: 首页 > 综合 > 正文

第九章:异常

2013年04月14日 ⁄ 综合 ⁄ 共 1808字 ⁄ 字号 评论关闭


  1、什么是异常?
* 程序中会出现这样和那样的问题,我们把这些问题称之为异常。
2、可处理的异常由:Exception类来管理。

* 2、在java语言中,异常有两种?
* 1) 未检查的异常:  程序编完没有进行逻辑检查就投入运行,在运行中产生错误。
* 该异常通常用逻辑办法(智慧或者说通过判断)解决。

* 2)
已检查的异常
:  编程编完经过了检查,但在编译出错。
* 该异常必须提供解决方案(即:必须用异常处理机制来解决)。

* 3、java语言提供异常处理机制:
* 1) try{ .... }catch( ) { ..... }

* 2) 在方法头部用 throws 将异常抛出.
*
 
* 1、java语言中的异常是指什么?
* 程序中会出现这样和那样的问题,我们把这些问题称之为异常。
* 2、在java语言中,通过Exception异常类来管理所有可处理的异常。
* java语言中通过异常处理机制为程序保驾护航。即:增加了程序的健壮性。

* 3、在java语言中,可处理的异常分为两种:

* 1) 未检查的异常: 程序编写后未进行逻辑检查,但编译时没有错误,
* 在运行时,可能出错。
* 这种异常通常通过逻辑办法来解决。

* 2) 已检查的异常: 程序编写后既使经过检查,也没有逻辑上的问题,
* 但程序在编译时会报错。报错的错误信息是固定的(前三个单词不变)。

* 这种异常必须通过异常处理机制来解决。

* 4、在java语言中,异常处理机制有两种
* 1) try{ ... } catch( ) { ... }

* 2) 在方法的头部通过关键字 throws 将异常抛出。 
*  
 
* 5、一个 try 后面可以跟上一个 catch语句块,也可跟上多个catch语句块。
* 注意:  当跟上多个catch时,则子异常需要放在父异常前面。

* 注意:  父类的异常处理可代替子类的异常处理。

* 6、异常对象的三个方法
* e.toString();  用来获取异常的名称和原因。

* e.getMessage();  用来获取异常的原因。

* e.printStackTrace(); 用来打印异常的所有信息(异常的名称、原因和发生的位置)
读取文件的内容。

 
   1、异常处理中的 finally 子句
* 它必须伴随 try 语句块而存在。

* 即: 一个try 后面可以跟一个 catch 或 多个 catch 或 一个finally 子句。

* 2、finally 子句的作用:
* 它通常用来 关闭文件 或 断开链接,释放所占资源,确保数据的安全。

* 注意:不论程序是否有异常,finally 子句均要被执行。

* 3、finally 子句的使用格式
* try{ ... } finally { ... }

*
*
* try{ ... } catch( ) { ... } finally { ... }

* 4、关键字 throws的应用。
* 它用在方法的头部,将异常抛出。即:将方法内部产生的异常抛到方法的调用处。

* 注意: 当你在编写方法时,方法的方法体若有异常产生时,通常在方法头部通过
* throws关键字将异常抛出。 当然也可在方法体中用try---catch将异
* 常处理掉。

 
* 1、自定义一个异常类如何实现及其应用?

* 1) 当专家给定异常类无法准确表达你当前的异常时,才自已定义一个异常类。

* 2) 如何自定义一个异常类?
* a) 首先在库中找一个近似异常类作为父类(若实在找不,则把Exception当作父亲)。

* b) 在该类中编写两个构造器:
* 一个是默认构造器;
* 另一个是带String message参数的构造器,同时,在该构造器中
* 使用 super( message );语句实现异常原因的设定。


* 3) 如何使用自定义异常的类?
* a) 在某方法体中 使用关键字 throw 后跟 new 自定义类名(原因); 对象。
* 即:  throw  new IllegalAgeException("你给定的年龄非法!");

* b) 在该方法的头部 使用 throws 关键字将 异常抛出。
* 即:  throws  IllegalAgeException 
*
常见的异常:
1`NopointException 空指针异常!(对象不成在);
2·ArithmetiaException   算术异常!lang(语言包)
3·ArrayIndeoutofBoundsException  数组越界异常!
4·NomberFormatExceptio  数据格式错误!
5·ParseException   转换异常!(text包)!

抱歉!评论已关闭.