美文网首页
二十、返回值里藏着异常信息

二十、返回值里藏着异常信息

作者: 此间有道 | 来源:发表于2020-08-20 10:29 被阅读0次

昨日UAT环境发现一个问题,今日想来还是有必要记录一下,毕竟有些方法执行出错时选择抛出异常,而有些方法选择把异常信息裹进返回值。如果忽略了返回值的校验,就有可能出现异常信息丢失的情况,让人摸不着头脑。

一、背景

EDI UAT环境调用jgit进行push时,始终不成功,但是日志里又没有任何异常信息。

二、原因

  1. 新建仓库的分支被设置为保护分支,不允许develop权限的用户push。
  2. jgit把push异常信息返回,而我们的程序调用时又忽略了对返回值的校验;

三、解决

  1. 用户权限改为Maintainer
  2. 程序里增加返回值校验

四、反思

如果程序执行结果非预期且日志没有异常信息,那么可能有以下可能:
1)程序抛出异常,但被捕获后忘记输出任何日志——吃掉了异常
2)程序把异常以返回值形式返回,程序里忘记校验返回值——丢失异常

相关文章

  • 二十、返回值里藏着异常信息

    昨日UAT环境发现一个问题,今日想来还是有必要记录一下,毕竟有些方法执行出错时选择抛出异常,而有些方法选择把异常信...

  • Java设计RestCodeEnum枚举,实现接口统一格式返回

    1.接口返回值枚举定义 2.异常信息抛出返回值定义 3.接口统一返回参数定义 4.增加全局异常 5.实例

  • Java异常淹没、返回值栈

    返回值栈,异常淹没 当Java程序的方法中有异常处理块的时候,执行引擎可能需要处理多了返回值,这时候,执行引擎会将...

  • 异常

    BatchUpdateException批量更新时抛出。该异常保存了异常发生前每条更新命令的返回值。抛出该异常后,...

  • 返回值与异常

    程序运行时异常可分为受检异常和非受检异常; 非受检异常可捕获也可以不捕获,一般用于就算捕获了也于事无补的情况,此时...

  • 博客开发接口文档

    外层返回值 获取作者额外信息 请求值 返回值 获取文章额外信息 请求值 返回值 评论对象 增加阅读量 请求值 点赞...

  • 记一个接口的切面及异常处理

    切面主要记录传参和返回值,代码如下: 异常处理:

  • 03.异常的抛出

    throws方式处理异常 A:throws使用:权限修饰符 返回值类型 方法名(形参列表) throws 异常类...

  • 15/4

    异常: 1.调用abort()函数:程序退出 2.使用返回值,当出现异常时返回false,主动终止程序 3.异常机...

  • 如何全局管理异常ExceptionHandler、Handler

    首先讲一下使用全局异常的好处,不需要定义很多的返回值,当业务出错的时候直接通过异常的返回值方式来返回给前端或者AP...

网友评论

      本文标题:二十、返回值里藏着异常信息

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