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

      当程序运行出现异常时,会退出程序结束运行而不至于让程序崩溃。

    1. 异常类

      所有异常的根类是java.lang.Throwable,其下有两个子类:Error和Exception。

    (1) Error

      Error是程序无法处理的错误,表面系统JVM处于不可恢复的崩溃状态,此时错误与代码书写无关。

      如:内存资源不够时,将出现OutOfMemeoryError。

    (2) Exception

      Exception是程序本身能够处理的异常。Exception是所有异常类的父类,通常异常分为RuntimeException(运行时异常)、CheckedException(已检查异常)。

    • RuntimeException通常可添加逻辑处理来避免。如:被0除异常、空指针异常、类型转换异常、数组下标越界异常、数字格式异常等。
    • CheckedException必须做出处理,否则无法通过编译。如:IOException、SQLException、自定义异常类等。

    2. 异常捕获

      捕获异常的关键词:try--catch--finally

    try {可能出现异常的语句}
    catch (异常类类名 e) {...}
    catch (异常类类名 e) {...}
    finally {...}

    (1) try

      try后面包含可能出现异常的语句。

      try语句至少包含一个catch语句或一个finally语句。

    (2) catch

      Throwable类的默认方法:

        toString(): 显示异常类类名及出现异常的原因。

        getMessage(): 显示出现异常的原因。

        printStackTrace(): 跟踪异常事件发生时堆栈的内容。

    (3) finally

      在异常处理后一般都会执行的语句放在finally中,如:关闭文件流、断开数据库连接等。

    要点:

    • 当try、catch中存在return语句时,finally语句也会执行,其执行后再通过return语句退出。
    • 当try、catch中存在System.exit(0)语句时,finally语句不会执行。

    3. 异常抛出

      抛出异常不是在出现异常时才出现的,而是代码中定义的出现异常,使用throw语句抛出异常。

     

    4. 自定义异常类

    [访问修饰符] class 异常类类名 extends Exception {
        [访问修饰符] 返回值类型 方法名(参数列表) throws 异常类1[, 异常类2] {
            ...
        }
        ...
    }

    要点:

      throw是抛出异常的关键字。

      throws是声明方法时可能出现的异常类。

    5. 断言

    (1)用途

      用于调试,相当于一个if判断。

    (2)用法

      断言在程序中一般处于关闭状态,若想要使用,则在编译后添加参数即可。

    java -ea 主类类名

    (3)语法

      当bool表达式为False时,在断言语句处停止并输出提醒语句;当bool表达式为True时,不做出放行。

    assert bool表达式:提醒语句;

  • 相关阅读:
    30流的使用和分类
    使用EF Model First创建edmx模型,数据库有数据的情况下,如何同时更新模型和数据库
    29防止程序集被篡改仿冒,全局程序集缓存GAC
    报错:不允许保存更改。您所做的更改要求删除并重新创建以下表……
    28先判断是否存在,再创建文件夹或文件,递归计算文件夹大小
    27程序集资源
    MVC缓存02,使用数据层缓存,添加或修改时让缓存失效
    26复杂类型比较,使用Compare .NET objects组件
    25LINQ拾遗及实例
    MVC缓存01,使用控制器缓存或数据层缓存
  • 原文地址:https://www.cnblogs.com/bpf-1024/p/12833708.html
Copyright © 2011-2022 走看看