• java 异常


    Java中的异常类都继承自Trowable类。一个Throwable类的对象都可以抛出(throw)

    Throwable对象可以分为两组。一组是unchecked异常,异常处理机制往往不用于这组异常,包括:

    • Error类通常是指Java的内部错误以及如资源耗尽的错误。当Error(及其衍生类)发生时,我们不能在编程层面上解决Error,所以应该直接退出程序。
    • Exception类有特殊的一个衍生类RuntimeException。RuntimeException(及其衍生类)是Java程序自身造成的,也就是说,由于程序员在编程时犯错。RuntimeException完全可以通过修正Java程序避免。比如将一个类型的对象转换成没有继承关系的另一个类型,即ClassCastException。这类异常应该并且可以避免。

    剩下的是checked异常。这些类是由编程与环境互动造成程序在运行时出错。

    异常处理几点说明

    异常对象在系统运行过程中自动创建,当然所创建的对象类型是根据不同类型的异常而有差异的,系统会把出现异常的具体信息以及导致异常的原因写在这个对象中。

    异常对象主要有两个属性:

         a. detailMessage   该异常的具体信息

         b. cause           说明了导致这个异常的原因。

                       

     异常位置的跟踪和定位:

         e. printStackTrace(); 

         由于try块中可能有多条语句,异常爆发了,对象被抛出了,到底是那条语句导致的呢?

      printStackTrace()会详细的告诉你对应的位置。

      异常被捕获处理后,异常try…catch..结构后的语句将继续运行,程序不会中止。

      但是try块中发生异常的语句之后的语句将不再运行。

    坚强的finally块,其只怕System.exit(0), 无论try块中有异常,无异常,有无漏网之鱼均可运行,也不怕try中中途return.

     为了有效的释放在try语句运行过程中申请的资源,finally块为此而成.

    运行时异常(Runtime Exception)

    所有运行时异常 extends RuntimeException.

    运行时异常是在程序运行过程中爆发的异常,其相对影响面小,问题不严重,一般不影响程序继续运行。

    运行时异常无需捕获,自动抛出,也无需throws声明。

     

    检查异常  (checked Exception)

    检查异常 extends Exception

    其要么try…catch..捕获,要么在方法签名末尾显式申明抛出。

  • 相关阅读:
    web网络编程
    C++ 多线程*****(看书补充)
    C++信号处理
    预指令
    C++模板*******
    C++ 命名空间
    动态存储
    异常处理**********
    私钥、秘钥详解
    Pod控制器应用进阶
  • 原文地址:https://www.cnblogs.com/yzdqxing/p/3896264.html
Copyright © 2020-2023  润新知