异常

作者: 知止睿 | 来源:发表于2018-12-17 17:46 被阅读0次

1.Throwable

Throwable类分为error和exception,前者较为严重,在运行的时候出现。后者在编译,运行的时候出现

自定义方法使用时,需要调用者传递参数时,首先需要对参数进行合法性判断,若参数不合法,应该告诉调用者,这时需要使用抛出异常的方式

public static int getArray (int [] arr) throws Exception{

    if(arr==null){

//异常只能位于方法中,且抛出的必须是异常的对象,即exception或者子类

        throw new Exception("传递的数组不存在");                                                                                

    }

}

2.异常的处理方式

try{

    被检测的代码

    可能出现异常的代码

}catch(异常类名 变量){
    异常的处理方式

    循环,判断,调用方法,变量

}finally{

    无论是否有异常,必须要执行的代码

 }

3.多catch处理细节

    平级异常:抛出的异常类之间,没有继承关系,书写没有顺序区分

    上下级异常:越高级的父类,需要写在下方

    原因:多态调用,否则下方的catch永远不会执行

    catch(NullPointerException ex)

    catch(Exception ex)

4.运行时期异常的特点

    编译异常:调用了抛出异常的方法,不处理的话编译失败(throw Exception try catch)

    运行异常:抛出的异常是RuntimeException类,或者他的子类

                      声明中不需要写throws语句,调用者也无需处理

                     设计原因:运行异常,原本就不能发生,如果发生了需要停止程序,修改代码

5.方法重写时异常的处理

1.父类的方法,如果抛出异常,子类重写父类的方法,可以不抛出异常,但是子类要是抛出异常,不能大于父类的异常,指继承关系,平级不行。

和父类相同,或者父类的子类异常

2.父类方法没有抛出异常,子类重写之后,也不能抛出异常。如果子类调用的方法抛出异常,子类需要使用try catch对异常进行处理

相关文章

  • 异常和模块

    异常 目标 了解异常 捕获异常 异常的else 异常finally 异常的传递 自定义异常 一. 了解异常 当检测...

  • python多线程

    异常基础知识 -异常简介: 运行时错误 -异常类: 异常数据 异常名称,异常数据,异常类型 -自定义异常 clas...

  • dart 异常

    dart中的异常 异常处理 抛出异常 异常捕获

  • Java基础之异常

    Java基础之异常 目录 异常简单介绍 ThrowableErrorException 异常分类 如何处理异常异常...

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • motan(RPC)系统梳理知识点

    异常分类: 业务异常(bizException) 服务异常(serviceException) 框架异常(fram...

  • 异常

    Java异常体系 异常的分类 Java的异常分为两大类:Checked异常和Runtime异常(运行时异常)。所有...

  • 从零构架个人博客网站(二)-全局异常处理

    中间件的异常 全局异常中间件全局异常监听定义异常的返回结果定义常见的异常状态开发环境 异常查看 对于异常,我们可以...

  • Node.js异常处理

    Node.js异常分类: 变量异常 函数异常 调用异常 变量异常 未定义变量 未包含对象 变量类型错误 函数异常 ...

  • python 异常

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释...

网友评论

      本文标题:异常

      本文链接:https://www.haomeiwen.com/subject/spuckqtx.html