• RuntimeException和Exception区别


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

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

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

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

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

    1.java.lang.NullPointerException;
    2.java.lang.ArithmaticException;
    3.java.lang.ArrayIndexoutofBoundsException

    1.Error和Exception区分:

    Error是编译时错误和系统错误,系统错误在除特殊情况下,都不需要你来关心,基本不会出现。而编译时错误,如果你使用了编译器,那么编译器会提示。

    Exception则是可以被抛出的基本类型,我们需要主要关心的也是这个类。
    Exception又分为RunTimeException和其他Exception。

    2.RunTimeException和其他Exception区分:

    其他Exception,受检查异常。可以理解为错误,必须要开发者解决以后才能编译通过,解决的方法有两种,
    1:throw到上层,
    2,try-catch处理。

    RunTimeException:运行时异常,又称不受检查异常,不受检查!
    因为不受检查,所以在代码中可能会有RunTimeException时Java编译检查时不会告诉你有这个异常,但是在实际运行代码时则会暴露出来,比如经典的1/0,空指针等。如果不处理也会被Java自己处理。

  • 相关阅读:
    hdu 1518 Square 深搜,,,,花样剪枝啊!!!
    3D拾取技术
    cocos2dx 使用spine制作骨骼动画
    poj3080Blue Jeans
    G4Studio+extjs+highcharts 下在ext4j的panel中放入hightCharts图表
    快的打车架构实践
    电源管理ACPI、及APM、GNU/Linux系统下的相应命令使用
    ------银行系统------
    ARM+llinux系统移植3G拨号上网收发短信(一)【转】
    在ARM-linux上实现4G模块PPP拨号上网【转】
  • 原文地址:https://www.cnblogs.com/mufeng07/p/12658625.html
Copyright © 2020-2023  润新知