Java异常Error、Exception、RunTimeException、Throwable

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011433762/article/details/54095199
  • Throw就是java在程序运行过程中产生的各种不开心
  • 首先需要区分“错误Error”和“异常Exception”两个概念
  • Java中的错误Error:指业务之外的不开心,比如硬件问题、OS问题、内存问题等导致的不可预测的抽风,比如内存满了,栈满了,系统跪了。
  • Java中的异常Exception:就是你写的程序不严谨,JVM不开心,比如除零,空指针,越界。这些异常在程序运行时有JVM抛出来给你。这类异常
  • 另外Java还附带赠送了一类异常机制:你可以任性的通过throw的方式主动抛异常,来处理业务上的一些不开心,比如你想花100块,结果兜里只有50块,不开心!抛异常;你想三妻四妾,但是国家规定只能娶一个,不开心,抛异常!

更高级的解释~~~!

  • Error是JVM代码在运行时发现OS无法满足它,才抛出来,这些的Error是定义在JVM的源码中,JVM产品不同抛出的Error也不同
  • Exception是JVM在运行你写的代码时,发现你代码的逻辑有问题,JVM自动生成的Exception,你的代码本身并不会抛出这些Exception,class文件也不包含Exception定义,因此不用catch住,只是在运行时JVM才会生成,因此叫做RuntimeException或者unchecked Exception
  • 附送的Exception是你在写代码时手动throw出来,或者别人手动throw出来的,class文件里面包含了Exception的定义,因此必须catch住,因此叫做checked Exception。比如jdk的io包里面大部分代码都会throw异常,因此io操作大部分才需要trycatch

猜你喜欢

转载自blog.csdn.net/u011433762/article/details/54095199