zoukankan      html  css  js  c++  java
  • Java 异常


    异常:在运行时期发生的不正常。
        (异常处理代码)和(正常逻辑代码)分离。将问题封装为对象抛出。

    异常体系:
        Throwable
        Error        不可处理的    有jvm抛出的严重问题    子类不是
        Exception    可以处理的    
            编译时被检测异常    Exception和其子类        不处理就编译失败
                希望在编译时就处理的异常,这种问题都有对应的处理方式。
                继承Exception
            运行时被检测异常    RuntimeException和其子类        编译器不检查,不处理不会编译失败
                RuntimeException不用被抛出(抛出也没用,处理不了),一旦出现,程序停止运行。
                这种问题一旦发生,功能无法继续,更多是由调用者的原因导致的。
                所以不做处理,在运行时让程序直接停止,让调用者调整代码。
                继承RuntimeException

    RuntimeException和Error    
        RuntimeException是在正常运行时出现的,Error是无法让程序正常运行。

    创建异常类:
         当一个异常情况只有在自己的项目中才会出现(特有情况)。就使用异常描述。
        继承异常类(Exception或者RuntimeException),定义空参构造函数,使用super(s)定义有参构造函数。

    处理异常:
        能处理就处理,不能处理就抛出,交给调用者处理。
        try{}catch(异常类  变量){}finally{}
            上面这个变量用于接收发生的异常,和形参类似
            catch用于处理异常情况。
        try{}catch(异常类1  变量){}catch(异常类2  变量){}finally{}
            按顺序catch,一定要把子类异常写在前面,父类的放在后面。
        抛出:
            Throws关键字:
                声明抛出异常。
                Throws 异常类,异常类2...;
            Throw关键字:
                Throw 异常对象;
                将异常实例抛出给调用者。
        在catch中抛出
            try{}catch(异常类1  变量){Throw 异常对象}finally{}
            这里抛出异常也是一种处理方式。抛出的异常可使用调用者熟悉的另一种异常。

    继承与异常:
        1:父类抛出了异常,则子类也需要抛出(抛出的异常可以是父类的异常,也可以是其子类)
        2:父类抛出多个异常,则子类抛出异常的子集。
        3:父类没有抛出异常,则子类不能抛异常。
















  • 相关阅读:
    HBase Flush 机制
    HBase 预分区 & Phoenix 加盐
    Phoenix 索引
    python 列表、元组、字典、集合的比较操作
    Redis HA
    基于 Redis 和 ZooKeeper 的分布式锁
    Ubuntu 系统设置 Swappiness 值
    Ubuntu_16.04 安装 Pyhon3.6
    Win10创意者更新秋季版升级常见问题解决方案
    如何使用注册表在Win10中调整屏幕亮度
  • 原文地址:https://www.cnblogs.com/Xmingzi/p/6635878.html
Copyright © 2011-2022 走看看