zoukankan      html  css  js  c++  java
  • .Net转Java自学之路—基础巩固篇十(异常)

    异常Exception

      程序运行时出现的不正常情况。

    异常问题分为俩大类:

      1、可以处理的问题

        一般用Exception(异常)来进行描述,这个异常可以有针对性的代码处理。

      2、重大错误问题

        用Error进行描述,这种异常发生后,一般不编写针对性的代码来进行处理,而是对程序进行修改。

    声明异常

      throws Exception :在功能上标识异常。

      若该功能用thrwos Exception来标识异常,那么调用者必须处理该异常信息。

      但是该功能声明的异常是一个特殊的异常子类时,调用者可以不对异常进行任何处理。这个异常是RuntimeException(运行异常)

    两种处理异常的方式

      1、try { } catch { }

      2、同样抛出异常throws Exception

    异常分为俩种:

      1、编译被检测异常:包括除去Exception子类RuntimeException以外的所有异常。

      2、编译时不被检测异常:RuntimeException以及子类。

    自定义异常

      将特有的问题进行描述,并封装成对象。

      步骤:

        定义一个类对异常进行描述,该类必须继承异常类(Exception)或运行异常(RuntimeException)。

      根本原因:异常体系和其它对象的不同之处在于异常体系都具有可抛性。异常的类和对象都可以被俩个关键字(throws、thorw)所操作,并且只有异常体系具备这个特点。

    throws和throw的区别

      1、throws作用与函数上,用于该功能容易出现的问题。抛出的异常要被调用者进行处理。

            throw 作用在函数内,用于抛出指定的异常对象。

      2、throws后跟的时异常类,可以有多个,中间用逗号隔开。

            throw 后跟的时异常对象。

      只有异常体系的类和对象才可以被这俩个关键字所操作。

    finally块

      主要用于关闭资源的代码。无论何时都执行(除去System.Exit(0)退出JVM的情况不执行)。

    异常处理

      1、当子类覆盖父类时,若父类的函数抛出了异常,那么子类覆盖父类要么不抛异常,要么抛出该异常或该异常的子类。

      2、若父类抛出了对个异常,子类覆盖父类时,只能抛出这些异常的子集。

      简单来说,子类只能抛出父类的异常或异常的子类,子类不可以抛出父类没有的异常。

      注:若被覆盖的函数没有异常抛出,那么子类的函数绝对不能有异常抛出。若子类中有异常发生,那么子类只能用try { } catch { }

        当try对象对个catch时,若catch的类型包含有继承关系时,那么父类异常的catch必须放在最下方。

  • 相关阅读:
    JAVA课堂作业(七)
    java继承
    JAVA课堂数组
    JAVA字符加密
    JAVA课堂验证
    JAVA随机数与方法重载
    JAVA语法基础课堂例子验证
    参数求和过程
    大道至简第二章读后感
    【复习笔记】数据结构-图
  • 原文地址:https://www.cnblogs.com/zltao/p/9239441.html
Copyright © 2011-2022 走看看