zoukankan      html  css  js  c++  java
  • 回顾JAVA---3.异常

    ---异常---

    - 异常:就是不正常,程序运行时出现的不正常情况,其实就是程序出现了问题,
    这个问题按照面向对象的思想进行描述,并封装成了对象,因为问题的产生有产生的原因,
    有问题的名称,有问题的描述等多个属性信息存在,当出现多属性信息最方便的方式就是讲这些信息进行封装,
    异常就是java按照面向对象的思想将问题进行对象封装,这样就方便于操作问题及处理问题
    - 出现的问题有很多种,比如角标越界,空指针等都是,就对这些问题进行分类,而且这些问题都有共性内容
    比如:每一个问题都有名称,同时还有问题描述的信息,问题出现的位置,所以可以不断的向上抽取,现成了异常体系
    - 这个体系中所有的类都具备一个独有的特点就是可抛性
    - 可抛性的体现:就是这个体系中的类和对象都可以被throws和throw两个关键字所操作
    - 在开发时,如果定义功能时,发现该功能会出现一些问题,应该将该问题在定义功能时标示出来,这样调用者使用时预先给出处理方式
    - 处理方式:1.捕捉 2.抛出

    try{
    		需要被检测的代码;
    	}
    	catch(异常类 变量名){
    		异常处理的代码;
    	}
    	finally{
    		一定会执行的代码;
    	}
    - 异常处理原则:功能抛出异常,功能调用如果进行try处理,需要与之对应的catch处理代码块,这样的处理有针对性,抛几个就处理几个
    - 特殊情况:try对应多个catch时,如果有父类的catch语句块,一定要放在最下面
    - throw用于抛出异常对象,后面跟的是异常对象,throw用在函数内
    - throws用于抛出异常类,后面更的异常类名,可以跟多个,用逗号隔开,throws用在函数上
    - 功能内部如果出现异常,如果内部可以处理,就用try,如果不能处理就必须声明出来,让调用者处理,使用throws抛出
    - 自定义异常:项目中出现了java中没有定义过的问题时,这时就需要我们按照java异常建立思想,将项目中的特有问题进行封装,这个异常叫做自定义异常
    - 自定义异常的步骤:定义一个子类继承Exception或RuntimeException,让该类具备可抛性,通过throw或throws进行操作
    - 异常转换思想:当出现的异常是调用者处理不了的,就需要将此异常转换为一个调用者可以处理的异常抛出
    - 当子类覆盖父类的方法时,如果父类的方法抛出异常,那么子类方法要么不抛出异常要么抛出父类异常或者给异常的子类,不能抛出其他异常
    - 如果父类抛出多个异常,那么子类在覆盖时只能抛出父类的异常子集
    - 如果父类或者接口中的方法没有抛出过异常,那么子类是不可以抛出异常的,如果子类的覆盖方法中出现了异常,只能try不能throws
    - 如果这个异常子类无法处理,已经影响了子类方法的具体运算,这时可以在子类方法中通过throw抛出RuntimeException异常或者子类异常
    - 常见异常
     --角标越界异常(IndexOutOfBoundsException)
     --空指针异常(NullPointerException)
     --类型转换异常(ClassCastException)
    -异常要尽量避免,如果避免不了,需要预先给出处理

  • 相关阅读:
    在国内时,更新ADT时需要配置的
    mantis增加密码修改
    http://182.92.241.20/mypro/login 偶的点金项目细化分包管理平台即将上线!!
    bootstrap菜单完美解决---原创
    PB常用日期
    ctrl+shift+del 清理火狐缓存,解决页面显示错乱问题
    Kylin上chromium不能用flash的解决命令
    正确的SVN导入代码命令
    GNU :6.47 Function Names as Strings
    std::advance 给迭代器增加指定偏移量
  • 原文地址:https://www.cnblogs.com/Amen-Z/p/8511992.html
Copyright © 2011-2022 走看看