美文网首页
Java 浅谈Exception及Error

Java 浅谈Exception及Error

作者: Yangjiangtao | 来源:发表于2019-07-15 13:25 被阅读0次

        Java程序语法中提供了一个Throwable接口,Exception及Error都是实现自这个接口。Exception指的是程序代码的异常,而Error指的是PC硬件的错误,比如硬盘容量不足、虚拟机出错等,这些错误都是不可预见无法预知的且是程序代码无法解决的。

        Exception是代码的错误,可以分为运行时异常(RuntimeException)及其他异常,运行时异常是系统在运行过程中可能抛出的异常,是程序可能发生的错误,不到程序运行时不能判断,不受编译器的检查,如数组越界异常、算术异常(比如一个数除以0)、空指针异常等等;其他异常是受系统编译检查的,需要在代码中就进行处理或声明抛出的,不处理就无法通过编译,所以也被称作必检异常。

    RuntimeException

        如上图,在程序被运行之前,并不能确认传进来的对象是否为Null,这个只有等到程序运行的时候才知道doSomeThing传进来的会是个什么参数,编译器无法做判断也不做判断,这个就叫做免检异常。

    CheckedException Thread

        又如上图,在程序调用Thread类的sleep方法时,由于sleep方法在定义时已经明确规定了这个函数我可能会抛出InterruptedException异常,你必须接收我这个异常,至于用try{}catch{}捕获或者声明抛出等异常处理机制随你,但是你不接收我这个异常就是不可以的,编译器就无法通过,这就是必检异常。

    Throwable

        综上所述,Throwable接口下面有两个继承类,一个是Exception,一个是Error。Exception分为运行时异常(RuntimeException)及其他异常。

    运行时异常(RuntimeException)及Error统称为免检异常,而Exception下除了RuntimeException以外的子类都是必检异常。

    相关文章

      网友评论

          本文标题:Java 浅谈Exception及Error

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