快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Java入门笔记5_非常

1. 非常/错误
1.1 非常处理的基本结构
非常处理的基本结构如下:

try {

someReallyExceptionalMethod();

} catch (NullPointerException n) { // a subclass of RuntimeException

. . .

} catch (RuntimeException r) { // a subclass of Exception

. . .

} catch (IOException i) { // a subclass of Exception

. . .

} catch (MyFirstException m) { // our subclass of Exception

. . .

} catch (Exception e) { // a subclass of Throwable

. . .

} catch (Throwable t) {

. . . // Errors, plus anything not caught above are caught here

} finally {…}

Java中非常和错误类都是从Throwable类中继续下来的,即Throwable类有两个子类:Error类及Exception类,Error类的实例是Java运行环境的内部错误,这些错误都是异常少及异常致命的,我们不能或者很少能对这些错误作出处理,或者捕捉这些错误。

而Exception类可以分为二类,一种是运行时exceptions(Runtime exceptions)如SecurityException,ArrayIndexOutofBounds,NullPointerException等;另一种是除此之外的,如EOFException等。在Exception类层次结构上,越是上层的Exception类,就越具有一般性,而越下面的Exception就越具有针对性。在多数Exception类是java.lang包中的一部分,其它一些存在于其它的包中。

一般来说在将可能出错的代码放入try块中,而在catch中捕捉可能的错误,一般从详细的错误开始,一直Throwable,而在finally中入些错误是否发生都需处理的代码,如退出循环,释放资源等。

1.2 声明可能产生非常的方式
在声明方式时可以加上要害字throws,用以说明该方式可能产生某个或者某些非常,如:

public boolean myOtherMethod (int x, int y)

throws AnException, AnotherExeption, AThirdException {

...}

有了这样的声明后,其它使用该方式的地方最好使用try…catch来处理该方式指定的非常。

1.3 创建自己的非常类
自己定义的非常类应从其它的非常类中继续下来,最好找一个接近的非常类来继续,如定义文件格式错误的非常类,最好从IOException继续。假如找不到接近的非常类继续,那么就直接从Exception类继续,因为它是所有非常类的鼻祖,以下是一个简朴的自定义非常类:

class MyException extends Exception {

public MyException() {}

public MyException(String msg) {

super(msg);

}

}

说明:

(1) 非常类一般会有二个构造函数,一个带参数,一个带String类型的参数;

(2) 当然可以再定义其它的构造函数及自己的变量及方式成员,如可以在类中定义方式用于记录log;

以下是对该非常类的引用:

public static void g() throws MyException {

System.out.println("Throwing MyException from g()");

throw new MyException("Originated in g()");

}

说明:

(3) 在方式定义后引用非常类,可以直接将该类名放在throws后;

(4) 可以使用throw new MyException来抛出自定义非常的实例;

1.4 其它
(1) 假如使用带有throw定义的方式,应将它放入try…catch中,处理指定非常后,重新将该非常抛出,即向上传递;

(2) 对于一些可猜测的可解决的非常最好直接在程序中处理掉,而不要抛出非常;

使用非常会占用大量的运行时间,所以尽量少用;



返回类别: 教程
上一教程: 关于JAVA中连接各类数据库的代码及其补充说明
下一教程: Java布局治理器深入讨论

您可以阅读与"Java入门笔记5_非常"相关的教程:
· Java入门笔记2_Applet
· Java入门笔记7_Stream
· Java入门笔记3_Datastructure
· Java入门笔记8_JavaTools
· Java入门笔记1_HelloWorld
    微笑服务 优质保证 索取样品