美文网首页
2019-11-25

2019-11-25

作者: 北风送晚燕 | 来源:发表于2019-11-25 16:03 被阅读0次

    异常

    异常分类

    • Error
    • Exception

    继承关系:Object<-Throwable<-(Error,Exception)

    异常产生条件可以查看JDK文档

    异常处理

    • 隐式处理:利用JVM抛出(系统抛出)RuntimeException

      JAVA中main方法的调用是JVM
    • 显式处理
      • 方法名+throws Exception

        将Exception抛给调用方法来处理
      • try...catch/finally捕获,finally作为出口,生成则必然执行

        try和catch中带有return时,顺序执行其他表达式,再执行return后带的表达式(并且保留),然后finally最后再执行return
      i=1;output="";
      try{
          if(i==1) {throw new Exception();}
          output+="1";
      } catch(Exception e){
          output+="0";
          return output+="1";
      } finally{
          output+="3";
      }
      
      output:01
      • 抛出+捕获:程序内部catch到后则不会throws到调用方法
      • 嵌套处理:处理某些会中断程序的异常,比如除数为零。

    例子:

    public void method1() throws IOException
    {...}
    public void method2(){
        try{
            method1();
            ...
        }
        catch (IOException e){//此处捕获method1产生的异常
            ...
        }
    }
    

    自定义异常对象

    public class SelfGenerateException extends Exception{
        SelfGenerateException(String str){
            super(str);//调用Exception的构造方法
        }
        static void throwOne() throws SelfGenerateException{
            ...
            if(...){
                throw new SelfGenerateException(...);
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:2019-11-25

          本文链接:https://www.haomeiwen.com/subject/piljwctx.html