zoukankan      html  css  js  c++  java
  • Java异常处理

    异常处理机制:

    异常就是程序执行中发生的不合理情况,异常发生时程序执行自动终止。Java语言提供了异常处理机制,通过该机制处理异常可以在一定程度上完善程序的合理性、正确性。Java异常处理机制是通过异常类来实现,在Java中,Throwable类是所有错误和异常的超类,它有两个子类Error类和Exception类,其中Exception类及其子类用来捕获和处理程序执行过程中的异常。

     

    异常类型:

    检查异常:可以被编译器分析的异常为检查异常;

    非检查异常:编译器不检查非检查异常;

     

    常见异常类:

    1、NullPointException      NullPointException类异常是由于调用null对象的方法或对一个null数组进行求数组长度等操作而出现的异常

                                                   例:JPanel     panel;

                                                            panel.setUI() ;

    2、ClassCastException   当将对象强制转换成与该对象所在类不兼容的另外一种类时会出现ClassCastException类异常

                                                   例:Objict obj =  new   Objict();

                                                           String s=(String)obj;

    3、ArrayIndexOutOfBoundsException          当数组下标大于数组长度时所引发的异常

                                                   例:int[ ]   Array=new int [3];               

                                                            Arry[3] =2;

    4、IOException                    使用流、文件和目录访问信息时引发的异常的基类,其中,子类FileNotFoundException较常见,当不存在指定路径名文件或者

                                                   虽存在但由于某些原因不能访问时引发FileNotFoundException类异常

                                                    例:FileInputStream  file = new FileInputStream("D://Test.txt")

                                                          D:// Test.txt文件不存在时出现异常

    5、NumberFormatException      Java程序仅接受字符串作为输入,当将字符串转换成另一种数值类型是易出现NumberFormatException类异常

                                                               例:  String    s="123a";

                                                                     int  a=Integer.parseInt(s);

     

    异常处理方式:(1)、try/catch或try/catch/finally

    将可能发生异常的的语句放在try语句块中;try语句块后有零个、一个或多个catch语句块,catch语句块指定可以捕获的异常的类型,同时包含异常处理程序;catch语句块后可能有finally语句块,无论是否发生异常都要执行的代码放在finally语句块中。形式为:

    try{

               //语句

    }catch (异常类型    引用名) {

             //语句

    }finally  {

                   //语句

    }

    注:发生异常时,创建特定异常类型的对象。catch语句块处理异常的类型由其参数的类型决定(小括号里的异常类型),参数中的引用名指向try语句块抛出的异常对象。

    当catch参数类型为Exception类时,由于超类的引用可以指向其子类对象,catch语句块可处理任意类型的异常。当有多个异常对象时,使用运算符instanceof,可以确定引用变量是否指向特定类型的对象。

    例:try{

                    //多个可能发生异常的语句

    }catch (Exception    e ) {

                 if ( e      instanceof       具体异常类型1  )

                    //异常处理语句

                else  if ( e  instanceof     具体异常类型2)

                    //异常处理语句

                     ......

    }

    (2)、throws

    throws用在方法的声明后,用来声明方法中可能抛出的的所有异常。throws后面跟异常类名。

    例:public  void  mathod ( ) throws   Exception {

                         .........

    }重生之大文豪www.dwhao.com

    (3)、throw

    throw在方法体中使用,用来抛出一个具体的异常,其后跟一个异常对象或引用。

    通过throw抛出异常后,如果想在上一层方法中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法的声明中指明要抛出的异常类型;如果要捕捉throw抛出的异常,则必须使用try-catch语句。

     

    (4)、创建自定义的异常类

    Java允许用户创建自己的异常类,用来处理Java异常类未包含或则处理自定义的异常。

  • 相关阅读:
    HDFS Maintenance State
    HDFS Maintenance State
    HDFS“慢节点”监控分析功能
    Confluence 6 找到你的支持识别代码(SEN)
    Confluence 6 降级你的许可证
    Confluence 6 增加和减少你许可证的用户数
    Confluence 6 理解你许可证的用户数
    Confluence 6 升级你的许可证
    Confluence 6 查看你的许可证细节
    Confluence 6 管理你的 Confluence 许可证
  • 原文地址:https://www.cnblogs.com/jiangye/p/3506028.html
Copyright © 2011-2022 走看看