zoukankan      html  css  js  c++  java
  • 异常备忘

    1.运行时异常与有效性检查相关

    以前一直认为运行时异常是可以捕获并恢复的。比如IllegalArgumentException,比如客户端代码在捕获之后,可以重新传一个符合约束的参数去调用API(这样的客户端代码是不很傻)。如果这样理解,很容易把受检异常与运行时异常混淆。因为受检异常的一个显著的特

    点就是用户可以捕获并”恢复“。 运行时异常出现的场景:前提违例,也就是client代码没有按照API的约束去调用。约束类似于人们做生意的合同。约定输入什么,返回什么。 “约束”经常出现在构造方法或者readObject(另类的构造方法)中。最常见的参数的有效性检查也是约束的一种情况。

    2.受检异常可”恢复“的理解
    通常只有受检异常是认为客户端可以尝试去捕获做一些场景的恢复或相关的有益的处理。比如通过读取一个文件初始化一些属性值,如果报FileNotFoundException,那么客户端捕获之后,可以尝试其它方式或者其它文件或者使用类中定义的静态值去初始化。

    又比如用户通过网银支付,当抛出余额不足的异常时,可以调用查询的API来显示余额还有多少。这虽然不是恢复,但是可以看做对受检异常的一种有益的处理。

    由于受检异常也是API的一种返回值这个特性决定了用户必须做一些有效的处理,比如catch或re throw,从而表明客户在调用API的时候,已经清楚了异常也是一种返回。

     
     
  • 相关阅读:
    匈牙利算法demo
    linux/windows 文件共享--Samba环境搭建
    神经网络参数量和计算量计算
    C/C++ 开发中使用第三方库常见问题总结
    linux 如何更改docker的默认存储磁盘
    目录下文件递归查找
    c++ 项目开发技巧
    Finding Tiny faces 思想解析
    美女与硬币问题
    深度优先遍历解决连通域求解问题-python实现
  • 原文地址:https://www.cnblogs.com/highriver/p/2302142.html
Copyright © 2011-2022 走看看