zoukankan      html  css  js  c++  java
  • 检查性异常和非检查性异常

    从网上查的资料进行整理

    一、异常

    1、所有的异常类是从 java.lang.Exception 类继承的子类。Exception 类是 Throwable 类的子类。

    2、所有的非检查性异常都继承自java.lang.RuntimeException。

    3、所有的检查性异常都继承自java.lang.Exception,是RuntimeException以外的异常;

    二、区别:

    1、检查性异常编译器要检查这类异常,检查的目的一方面是因为该类异常的发生难以避免,另一方面就是让开发者去解决掉这类异常,所以称为必须处理(try ...catch)的异常。

    如果不处理这类异常,集成开发环境中的编译器一般会给出错误提示。

    如果一个方法没有捕获一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。

    2、非检查性异常编译器不会检查这类异常,不检查的则开发者在代码的编辑编译阶段就不是必须处理,这类异常一般可以避免,因此无需处理(try ...catch)。

    如果不处理这类异常,集成开发环境中的编译器也不会给出错误提示。

    三、举例

    1、常见的运行时异常:空指针异常(NullPointerException)、除零异常(ArithmeticException)、数组越界异常(ArrayIndexOutOfBoundsException)等;

    2、常见的检查性异常:输入输出异常(IOException)、文件不存在异常(FileNotFoundException)、SQL语句异常(SQLException)等。

  • 相关阅读:
    做支付遇到的HttpClient大坑
    一个隐藏在支付系统很长时间的雷
    记一次自动恢复的支付故障
    从GopherChina 2019看当前的go语言
    记一次上线就跪的故障排查案例
    springboot 源码笔记
    计算多边形面积
    springboots Helloworld
    springboots 配置文件
    springboots 环境搭建
  • 原文地址:https://www.cnblogs.com/lqyy/p/9398874.html
Copyright © 2011-2022 走看看