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

    • Java中的异常体系
      • Java把所有的非正常情况分为两种:异常(Exception)和错误(Error),它们都继承Throwable父类。
        1. Error错误,一般是指与虚拟机有关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,因此应用程序不应该试图使用catch块来捕获Error对象。在定义该方法时,也无须在其throws子句中声明该方法可能抛出的Error及其任何子类。对于这类错误,Java编译器不去检查他们。对于这类错误导致的应用程序中断,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。
        2. Exception异常表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。
      • Exception又分为运行时异常(Runtime Exception)和受检查的异常(Checked Exception )。
        1. RuntimeException:其特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try……catch捕获,也没有用throws抛出,还是会编译通过,如除数为零的ArithmeticException、错误的类型转换、数组越界访问和试图访问空指针等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。
        2. 受检查的异常(IOException等):这类异常如果没有try……catch也没有throws抛出,编译是通不过的。这类异常一般是外部错误,例如文件找不到、试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。
    • 常见的异常
      1. ArithmeticException:算数运算异常
      2. ArrayIndexOutOfBoundsException:数组越界异常
      3. ClassCastException:类型转换异常
      4. NullPointerException:空指针异常
      5. NumberFormatException:数据格式异常
      6. FileNotFoundException:文件未找到异常
      7. ClassNotFoundException:类未找到异常
      8. NoSuchElementException:没有这个元素异常(迭代器中到了末尾,还继续访问)

     常见的RuntimeException异常

    1、NullPointerException -- 空指针引用异常

    2、ClassCastException -- 类型强制转换异常

    3、IllegalArgumentException  -- 传递非法参数异常

    4、ArithmeticException -- 算术异常

    5、ArrayStoreException  -- 向数组中存放与声明类型不兼容对象异常

    6、IndexOutOfBoundsException  -- 下标越界异常

    7、NegativeArraySizeException  -- 创建一个大小为负数的数组错误异常

    8、NumberFormatException -- 数字格式异常

    9、SecurityException  -- 安全异常

    10、UnsupportedOperationException  -- 不支持的操作异常

  • 相关阅读:
    父页面与子页面间相互传值
    PS常用技能综合
    JS 提交form表单
    html实体字符
    js基础
    Delegate模式
    IOS-基础知识
    测试工具综合
    [Linux] Nginx 提供静态内容和优化积压队列
    [Linux] Nginx响应压缩gzip
  • 原文地址:https://www.cnblogs.com/oukele/p/10032212.html
Copyright © 2011-2022 走看看