zoukankan      html  css  js  c++  java
  • Java 基础 ------- 异常(一)

    异常:程序在运行过程中所发生的不正常事件,如文件找不到,网络连接不同或中断,下标越界,类型转换异常等。

    使用if-else 处理异常缺点:
    a、代码臃肿,加入了大量的异常情况判断和处理代码

    b、大量精力放在了异常处理,占用了编码时间,影响开发效率

    c、很难穷举所有异常情况,程序不健壮

    d、异常处理代码和业务代码交织在一起,影响可读性

    1、Java异常体系结构

     所有异常的父类 Throwable ,有两个派生子类 Error 类和 Exception类。

    1.1、Error 类:表示仅靠程序本身无法恢复的严重错误,如内存溢出,动态链接失败,虚拟机错误。应用程序遇到这种类型,应尽量使程序安全退出。

    1.2、Exeception类:表示由java 应用程序抛出和处理的严重错误,如所需文件找不到,数组下标越界,类型转换异常,网络连接不通或中断等异常。又分为两大类异常运行时异常和非运行时异常。

    运行时异常: 包括RunningException及其所有子类。不要求程序必须对他们进行处理,主要处理的就是这种异常。

    Checked异常(非运行时异常):除了运行时异常外的其他从Exception类继承来的异常类。

     

     常见的有:

    运行时异常(RuntimeException):
      NullPropagation:空指针异常;
      ClassCastException:类型强制转换异常
      IllegalArgumentException:传递非法参数异常
      IndexOutOfBoundsException:下标越界异常
      NumberFormatException:数字格式异常

    非运行时异常:
      ClassNotFoundException:找不到指定 class 的异常
      IOException:IO 操作异常

    错误(Error):
      NoClassDefFoundError:找不到 class 定义异常
      StackOverflowError:深递归导致栈被耗尽而抛出的异常
      OutOfMemoryError:内存溢出异常

     

  • 相关阅读:
    【译】.NET 的新的动态检测分析
    【译】Visual Studio 的 Razor 编辑器的改进
    【译】.NET 5. 0 中 Windows Form 的新特性
    MySQL InnoDB 索引(Index)
    MySQL 全文检索(Full-Text Search)
    MySQL 计算最大值、最小值和中位数
    MySQL 触发器(Triggers)
    MySQL 视图(View)
    MySQL基础知识:MySQL String 字符串处理
    MySQL基础知识:MySQL Connection和Session
  • 原文地址:https://www.cnblogs.com/obge/p/12364434.html
Copyright © 2011-2022 走看看