|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
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 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |