资讯专栏INFORMATION COLUMN

Java 通过异常处理错误(12)

Carson / 1282人阅读

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

1.概念

用强制规定的形式来消除错误处理过中随心所欲的因素.

使用异常所带来的一个相当明显的好处是,它往往能够降低错误处理代码的复杂度.

2.基本异常

异常情形是指阻止当前方法或作用于继续执行的问题.

标准异常都有两个构造器:一个是默认构造器,另一个是接受字符串作为参数,以便能把相关信息放入异常对象的构造器.

3.捕获异常

监控区域:一段可能产生异常的代码,并且后面跟着处理这些异常的代码.

try块:跟在关键字try之后的普通程序块.

异常处理程序:抛出的异常必须在某处得到处理,这个"地点"就是异常处理程序,而且针对每个要捕获的一场,得准备相应的处理程序.

异常处理程序紧跟在try块之后,以关键字catch表示.

异常处理模型:终止模型,恢复模型(不实用).

4.创建自定义异常

要自定义异常类,必须从已有的异常类继承,最好的选择是相近的异常类继承.

5.异常说明

异常说明使用了附加的关键字throws,后面接一个所有潜在异常类型的列表.

6.捕获所有异常

Exception是与编程有关的所有异常类的基类.

7.Java标准异常

Throwable这个Jaba类被用来表示任何可以作为一场被抛出的类.

Throwable对象可分为两种类型(指从Throwable继承而得到的类型):Error(表示编译时和系统错误),Exception(可以被抛出的基本类型).

特例:RuntimeException(或任何从它继承来的异常),编译器不需要一场说明,其输出报告给了System.err.

8.使用finally清理

无论异常是否被抛出,finally子句总能被执行.

9.异常的限制

当覆盖方法的时候,只能抛出在基类方法的异常说明里列出的一场.

10.构造器

处理具有可以失败的构造器,且需要清理的对象:对于每一个构造器,都必须包含在其自己的try-finally语句块中,并且每一个对象构造器必须都跟随一个try-finally语句块以确保清理.

11.异常匹配

抛出异常的时候,异常处理系统会按照代码的书写顺序找出"最近"的处理程序.

找到匹配的处理程序之后,它就认为异常将得到处理,然后就不再继续查找.

查找的时候并不要求抛出的异常同处理程序所声明的异常完全匹配,派生类的对象也可以匹配其基类的处理程序.

12.其他可选方式

异常处理的一个重要原则:只有在知道如何处理的情况下才捕获异常.

异常处理的一个重要目标:把错误处理的代码同错误发生的地点相分离.

13.异常使用指南

应该在下列情况下使用异常:
1.在恰当的级别处理问题.
2.解决问题并且重新调用产生异常的方法.
3.进行少许修补,然后绕过异常发生的地方继续执行.
4.在别的数据进行计算,以代替方法预计会返回的值.
5.把当前运行环境下能做的事情尽量做完,然后把相同的异常重抛到更高层.
6.把当前运行环境下能做的事情尽量做完,然后把不同的异常重抛到更高层.
7.终止程序.
8.进行简化.
9.让类库和程序更安全.

END

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76433.html

相关文章

  • Java编程思想》笔记12.通过异常处理错误

    摘要:一旦异常被抛出,就表明错误已无法挽回,也不能回来继续执行。这种在编译时被强制检查的异常称为被检查的异常。通过获取原始异常。构造器对于在构造阶段可能会抛出异常,并要求清理的类,最安全的做法是使用嵌套的子句。 点击进入我的博客 Java异常处理的目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成,并且通过这种方式可以使你更自信:你的应用中没有未处理的错误。 12.1 概念 异...

    Vultr 评论0 收藏0
  • Java异常处理12条军规

    摘要:非检查异常是不需要在子句中声明的异常。在高执行级别,应记录此类异常。是最为严重的运行时错误,几乎是不可能恢复和处理,一些示例是,和。捕获异常时,也不要捕获范围太大,例如捕获,相反,只捕获你能处理的异常,应该处理的异常。 摘要: 简单实用的建议。 原文:Java异常处理12条军规 公众号:Spring源码解析 Fundebug经授权转载,版权归原作者所有。 在Java语言中,异常从...

    zeyu 评论0 收藏0
  • (Thinking in Java)第12通过异常处理错误

    摘要:异常处理程序抛出的异常必须在异常处理程序中得到处理。终止与恢复异常处理有两种模型,支持终止模型,一旦异常被抛出,表明错误无法挽回,无法退回来继续执行之前出错的代码。对于异常来说,最重要的部分就是类名。 一、概念 使用异常能降低处理错误代码的复杂程度,并且将错误在一个地方进行处理,于是将描述在正常行为过程中做过什么事的代码和出了问题怎么办的代码相分离 二、基本异常 异常情形指的是当前环境...

    miguel.jiang 评论0 收藏0
  • Java 异常实战

    摘要:不过按照经验来说,这类异常要么尽量避免,要么出现了就要做异常处理,从而保证程序的健壮性。业务是千变万化,但是它们可能产生的异常处理方式是不会变化的,按照这个思路去做异常处理即可。 前言:说到异常体系,可能对于一些初入职场的老铁会很头痛,不能够很清晰的描述异常是个什么情况。那么本文将通过打流水仗的方式给大家介绍一下工作中涉及的异常知识。首先能看到本文,说明也对异常是有了解的,所以文章开头...

    libxd 评论0 收藏0
  • 1、异常概述和继承体系 2、原因及处理方式 3、运行时异常 4、重写异常处理 5、Throwable

    摘要:案例演示该句运行时发生了数组索引越界异常,由于没有处理异常,导致程序无法继续执行,程序结束。用来进行某种异常的捕获,实现对捕获到的异常进行处理。运行时期异常一旦发生需要程序人员修改源代码。 01异常的概述 * A: 异常的概述 * a:什么是异常 * Java代码在运行时期发生的问题就是异常。 * b:异常类 * 在Java中,把异常信息...

    GT 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<