• Java 异常处理


    Java异常时用来描述在一段代码中发生的异常情况的对象。

    当出现引起异常的情况时,就会创建用来表示异常的对象,并在引起错误的方法中抛出异常对象。

    Java的异常处理通过5个关键字进行处理:

    1、try

    2、catch

    3、throw

    4、throws

    5、finally

    所有的异常都是内置类Throwable的子类。紧随着Throwable之下的都是两个子类,他们将异常分为另个不同的分支,一个分支是Exception。另一个是Error。

    我们常用的手动捕获的异常处理模块的一般形式为:

    try{

    }catch(ExceptionType e){

    }

    try{

    }catch(ExceptionType e){

    }finally{

    }

    1、try catch

    为了防止并处理运行时的错误,可以简单地在try代码块中封装希望得到监视的代码。紧随着try之后,会出现一条catch语句,指定希望捕获的异常类型。

    示例代码如下:

    public class Test {
      public static void main(String [] args){
        try{
          int a = 0;
          int b= a/a;
        }catch(ArithmeticException e){
          System.out.println("devide by zero: "+e);
         }
        }
    }

    最后的输出结果是:

    devide by zero: java.lang.ArithmeticException: / by zero

    当然我们也可以使用多条catch子句,不过需要注意的一点事,异常子类必须位于所有的超类之前

    举例说明,下面的程序就会出现编译错误

    public class Test {
      public static void main(String [] args){
        try{
          int a = 0;
          int b= a/a;
        }catch(Exception e){//异常超类不能再子类之前
          System.out.println("this is an exception"+e);
         }catch(ArithmeticException e){
          System.out.println("devide by zero: "+e);
        }
       }
    }

    也可以使用嵌套的try语句,就是try语句里面嵌套一个try语句。

    2、throw和throws

    throw

    在Java程序中我们自己通过throw抛出异常。

    throw的一般形式是:

    throw ThrowableInstance;

    其实ThrowableInstance必须是Throwable或者其子类的对象。

    有两种方式可以获取Throwable对象:

    a、在catch子句中使用参数

    b、new一个新的对象

    举例说明:

    public class Test {
      public static void main(String [] args){
        try{
            try{
              throw new NullPointerException();//new关键字
            }catch(NullPointerException e){
              System.out.println("NullPointerException inside"+e);//在catch子句中使用参数
              throw e;
              }
          }catch(NullPointerException e){
            System.out.println("NullPointerException outside"+e);
           }
      }
    }

    最后的输出结果是:

    NullPointerException insidejava.lang.NullPointerException
    NullPointerException outsidejava.lang.NullPointerException

    throws

    如果方法可能引发自身不进行处理的异常,就必须指明这种行为,以便方法的调用者能够保卫他们自己以防备上诉的异常。

    throw子句的方法声明的一般形式:

    type method_name(parameter_list)throw exception_list{

    //body of method

    }

    3、finally

    finally后面的代码块,不管异常时候抛出都会执行

  • 相关阅读:
    wppay免登录付费查看隐藏内容/付费资源下载
    个人网站html5雪花飘落代码JS特效下载
    HTML5 audio 如何实现播放多个MP3音频
    网站html代码解析
    vue-webpack模板升级到webpack4
    npm安装cnpm
    单个div充满屏幕的CSS方法
    vue监听滚动事件-元素固定位置显示
    HTML5中判断横屏竖屏
    The META for Mobile terminal
  • 原文地址:https://www.cnblogs.com/cuglkb/p/5737323.html
Copyright © 2020-2023  润新知