关于异常

  • 异常一般是指运行期(此处特指Exception类)会发生的导致程序意外中止的问题,是一种对问题的描述后的封装对象。
  • 是Object下所属的Throwable类,包含Error类和Exception类,其中Exception中包含特殊的RuntimeException
  • Throwable
    |----Error
    |----Exception
    |----RuntimeException
  • Error类:编译时就出现中止,常无关代码逻辑,而和系统Error有关,无需写针对性代码处理
  • Exception类:是可以处理的问题,需要程序员改善代码再进行处理,即通过抛出或者try...catch捕获
  • 异常的特点:异常体系中所有类及建立的对象都是可抛的,也就是可以通过throws(函数上使用)、throw(函数内使用)进行操作
  • 当函数内容有throw抛出异常对象,并未进行try处理,必须要在函数上声明,否则编译失败。注意RuntimeException除外,如果抛出RuntimeException,函数上可以不用声明
  • 如果函数声明了异常,调用者需要进行处理
  • 异常
  • 编译时被检测异常:如果没有进行处理,编译失败;异常被标识,意味着可以被处理
  • 运行时异常:编译时不检查
  • 异常处理原则
  1. 处理方式:try或throws
  2. 抛出几个异常就处理几个,一个try多个catch
  3. 多个catch,父类放到最下面
  4. catch内写针对性代码

五种常见异常举例

  • ArrayIndexOutOfBoundsException(数组越界异常):常发生在访问数组超过长度的元素时发生


    关于异常_第1张图片
    ArrayIndexOutOfBoundsException
  • ArithmeticException(算术异常):常发生在常规违背算术法则的情况,如程序中出现了除以零这样的运算就会出这样的异常


    关于异常_第2张图片
    ArithmeticException
  • InputMismatchException(数据类型不匹配):常发生在用户输入有误,不符合程序设定类型


    关于异常_第3张图片
    InputMismatchException
  • NullPointerException(空指针异常):常发生在已分配空间的数据未初始化


    关于异常_第4张图片
    NullPointerException

    关于异常_第5张图片
    未初始化
  • IOException(找不到指定路径的IO异常):常发生在工程文件不在当前工作路劲下

你可能感兴趣的:(关于异常)