异常

异常原理的一个解析:

    

 

 

 

 

 

Throwable-->exception--->Checked Exception 和 Unchecked Exception

               -->error

在Java中异常都有一个共同的祖先throwable,Throwable有两个重要的子类(Exception,error)

Exception和Error的区别:

         Exception:程序本身可以处理的异常,可以通过catch来捕获,Exception又可以

分为Checked Exception(受检查异常,如果受检查异常没有被catch/throw处理,就没办法通过编译,必须处理)和Unchecked Exception(不受检查异常,我们即使不处理不受检查异常也一颗正常通过编译,可以不处理)

         Error:属于程序无法处理的错误。例如:内存溢出。java虚拟机运行错误。

  Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws,finally
           try块:用来指定一块预防所有异常的程序,后面可以跟0个或者n个catch块,如果没有catch块,就必须根finally块
          catch块:用来捕获异常的
          throw:用来明确的抛出一个异常
          throws:用来表明一个成员函数可能抛出的各种异常
              finally块:无论是否捕获或处理异常,finally块里的语句都会被执行。(不要再finally语句块中使用return!),特殊2种情况,finally块的代码不会执行:程序所在线程死亡,关闭CPU。

 

throw 和 throws 的区别

throw:
1)throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。
2)throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。
throws:
1)throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。
2)throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型。
3)throws 表示出现异常的一种可能性,并不一定会发生这种异常。

 

Throwable的常用方法:

       String getMessage():返回异常发生时的简要概述

       String toString(): 返回异常发生时的详细描述

       Void printStackTrace():在控制台打印Throwable对象封装的异常信息。

        

 

posted @   远乡人  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示
主题色彩