美文网首页
12.通过异常处理错误

12.通过异常处理错误

作者: 云木杉 | 来源:发表于2019-10-22 15:39 被阅读0次

Java的基本理念是“结构不佳的代码不能运行”

  • 1).概念

不再需要在每个方法调用处进行检查,只需要在一个地方处理错误,即所谓的异常处理程序,这种方式不仅节省代码,而且把“描述在正常执行过程中做什么事”的代码和“出了问题怎么办”的代码相分离。

  • 2).基本异常

异常使得我们可以把每件事都当做一个事物来考虑,而异常可以看护着这些事物的底线。如果遇到问题,它们将不允许程序沿着其正常的路径继续走下去。

  • 3).捕获异常

抛出的异常必须在异常处理程序中得到处理,针对不同的异常,会有相应的处理程序,紧跟在try块之后
Java只支持终止模型,另一种为恢复模型,虽然看起来很美好,但检查的繁琐及之后的恢复操作的困难,使得程序猿最终放弃。

  • 4).创建自定义异常

继承已有的功能相近的Exception派生类,可以使用默认构造器,也可以使用作为你一个字符串为参数的构造器。

  • 5).异常说明

java鼓励人们告知客户端程序猿某个方法可能会抛出异常,然后客户端程序猿就可以进行相应的处理,这就是异常说明。它属于方法声明的一部分,紧跟在形式列表之后。

  • 6).捕获所有异常
  • 7).Java标准异常

Throwable对象可以分为两种类型:Error用来表示编译时和系统错误,Exception是可以被抛出的基本类型。特例是RuntimeExcetion,它代表的是编程错误,代表无法预料的错误,比如你控制范围之外的null引用。

  • 8).使用finally进行清理
  • 9).异常的限制
  • 10).构造器
  • 11).异常匹配

异常匹配的意思,是catch(E e)会捕获E以及所有从它派生的异常,所以如果方法里加上更多派生类异常的话,只要捕捉基类异常,代码就不需要更改。

  • 12).其他可选方式
  • 13).异常使用指南

在恰当的级别处理问题,解决问题并且重新调用产生异常的方法,进行少许修补,然后绕过异常发生的地方继续执行,用别的数据进行计算,把当前事情做完,然后异常抛到高层,终止程序,进行简化

  • 14).总结

异常处理的优点之一就是使得你可以集中精力处理你要解决的问题,而在另一处处理一系列代码产生的错误。

问答

  • 请对比Exception和Error,另外,运行时异常与一般异常有什么区别?
    Exception和Error都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成部分。

  • Exception又分为可检查异常和不检查异常
    可检查异常在源代码里必须显式地进行捕获处理,这是编译器检查的一部分。(IOException等)
    不检查异常就是所谓的运行时异常,类似于NullPointException、ArrayIndexOutOfBoundsException之类,通常是可以编码避免的逻辑错误(RuntimeException NullPointException,ClassCastException)

知识扩张

  • 1.尽量不要捕获类似Exception这样的通用异常,而是应该捕获特定异常
  • 2.不要生吞异常

相关文章

  • 12.通过异常处理错误

    在java中,异常分为免检异常和必检异常必检异常就是编译时被强制检查的异常异常链:通常在捕获一个异常后抛出另一个异...

  • 12.通过异常处理错误

    Java的基本理念是“结构不佳的代码不能运行” 1).概念 不再需要在每个方法调用处进行检查,只需要在一个地方处理...

  • 通过异常处理错误

    异常处理的Java中唯一正式的错误报告机制。

  • python异常处理与上下文管理器

    python异常处理 异常与错误 错误语法错误可以通过IDE或者解释器给出提示的错误opentxt('a.jpg'...

  • Error 泛型

    Error 异常处理 错误处理 错误类型 自定义错误 可以通过Error协议自定义运行时的错误信息 函数内部通过...

  • 用答卷实例通俗理解和深刻记忆:python异常处理五大机制

    什么是python的异常处理 python的异常处理,简而言之就是当程序发生错误时,能够通过程序对错误进行捕捉,并...

  • java 通过异常处理错误(上)

    java编程思想第12章笔记 1.概念 异常指的是在程序运行过程中发生的异常事件,通常是由硬件问题或者程序设计问题...

  • Java 通过异常处理错误(下)

    7.java标准异常 Throwable这个java类用来表示任何可以作为异常被抛出的类.Throwable对象可...

  • 2021-12-23 Python-19

    异常 当程序执行错误时,Python 通过异常的特殊对象来管理错误。通常用try-except-else代码块处理...

  • 2.1.3 Python面向对象之异常处理

    点击跳转笔记总目录 Python面向对象之异常处理 一、错误与异常 二、异常处理 三、什么时候用异常处理 一、错误...

网友评论

      本文标题:12.通过异常处理错误

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