zoukankan      html  css  js  c++  java
  • java异常处理规范

    • 异常处理的优势【存在意义】:异常检测者有检测出异常的能力,但不知道在出现该异常的情况下应该怎么处理。故库方法一般会抛出异常给调用者来处理。所以总结而言,异常处理的优势就是,将处理错误(调用者处理)从检测错误(被调用者检测)中分离出来。
    • 异常的分类:
      1. 系统错误:内部系统错误,虚拟机抛出。免检。
      2. 异常:由程序和外部环境所引起的错误,这些错误能被程序捕获和处理。必检。
      3. 运行时异常:程序设计错误,通常虚拟机抛出。免检。
    • 关于异常处理需要注意的点:
      1. Exception类,既可能是普通的异常,也可能是运行时异常,故实际编程中最好不要直接抛出Exception,而是抛出其子类。
      2. 运行时异常,只需抛出,无需捕获处理(java8允许处理,但是不要画蛇添足)
    • 警告:
      1. Exception的子类中:
        • 必检异常类型常见的有:FileNotFoundException、IOException(可以动手试试,必须处理的异常);
        • 免检异常类型常见的有:NullPointerExceptin、ArithmeticException、IndexOutofBoundsException、IllegalArgumentException(抛出后无需处理的异常)
      2. java没有整数上溢或下溢异常

    • 运行时异常和普通异常:
      • 若出现运行时异常,如NullPointerException,直接导致当前线程中断;
      • 若出现普通异常:
        • 抛出处理:当前线程中断;换句话说,当前线程(的当前代码)不接受你这个异常的存在,我不想理你了。
        • 捕获处理:当前线程不会中断,后续继续处理。你这个异常,当前线程是可以接受的,我还会继续后续处理。

    • 很显然,异常的处理应当视我们的业务逻辑需要,做出相应的合理处置方式。
    • 现在,你总该明白什么时候应该(在方法签名后面)声明异常,什么时候(在方法中)捕获异常了吧?
  • 相关阅读:
    代码重构(转)
    Apache负载均衡 配置
    恒久的忍耐
    setInterval全面的介绍
    引用 110个Oracle 常用函数的总结
    ssl和tls
    JSTL
    java异常处理的陋习(转载)
    Java 6 JVM参数选项大全(中文版)
    liunx基础常用命令
  • 原文地址:https://www.cnblogs.com/InformationGod/p/9697492.html
Copyright © 2011-2022 走看看