【总结】Throwable/Error/Exception/RuntimeException区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hemin1003/article/details/83780627

【总结】Throwable/Error/Exception/RuntimeException区别

1.JAVA是将所有的错误封装为一个对象,其根本父类为Throwable,有两个子类:Error和Exception。

2.Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然ThreadDeath错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error的任何子类,因为这些错误可能是再也不会发生的异常条件。

3.Exception类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

4.RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException 的任何子类都无需在 throws 子句中进行声明。它是Exception的子类。

5.异常的分类
  Error:一般为底层的不可恢复的类;
  Exception:分为未检查异常(RuntimeException)和已检查异常(非RuntimeException)。
  未检查异常是因为程序员没有进行必需要的检查,因为疏忽和错误而引起的错误。

几个常见的RunTimeException:
java.lang.NullPointerException;
java.lang.ArithmaticException;
java.lang.ArrayIndexoutofBoundsException;

6.异常的处理方法
A.throws,直接往上一层抛出异常;
B.try{}catch;
C.finally;

参考资料:

https://blog.csdn.net/liuj2511981/article/details/8524418(代码案例说明,可查阅此篇博客)

------------------------------------------------------

------------------------------------------------------

关于我,前往个人域名

期望和大家一起学习,共同进步,共勉

欢迎交流问题,可加个人QQ 469580884

或者,加我的群号 751925591,一起探讨交流问题

不讲虚的,只做实干家

Talk is cheap,show me the code

猜你喜欢

转载自blog.csdn.net/hemin1003/article/details/83780627