美文网首页
Java程序中异常的使用

Java程序中异常的使用

作者: 無式 | 来源:发表于2017-08-26 19:00 被阅读0次
  • 在Java中如何使用好Exception是门艺术。
  • 一般我们常见的有checked异常(Exception)和unchecked异常(RuntimeException),区别在于前者在语法层面强制开发者对异常进行处理,后者则不用。
  • 两种异常的好坏或和使用方式大多还是根据场景而定。

一个现状

  • 目前接手了一个项目,此项目定位为基础组件,对外部系统提供REST API服务和对应SDK。
  • 其中SDK的大致逻辑为:
//调用rest api
public Result submit(Object args){
  Result result;
  Request req = createRequest(args);  //构造rest请求
  try{
    result = doRestRequest(req);    //请求http
  }
  catch(Exception e){
    result = new Result();
    result.code = -1;  //发生异常时设置结果码为失败
  }
  return result;
}
  • 逻辑上没有问题,调用失败的场景通过Result.code告诉给使用者。
  • 从现在分布式微服务应用角度看,远程调用发生错误应该要被认为是一种常态,开发者必须关心发生错误的场景。
  • 这样的SDK封装往往会让使用方就会忽略错误的场景,直接提交本地事务完成请求,最终造成业务方与基础组件中的数据状态不一致。

改进

  • 这种问题发生太多次了,每次都得事后手动处理。所以在下个版本的SDK中,打算使用Exception进行改造。
//调用rest api
public Result submit(Object args) throws Exception{
  Request req = createRequest(args);  //构造rest请求
  try{
    return doRestRequest(req);    //请求http
  }
  catch(Exception e){
    throw new Exception(e);    //此处可以对异常做一个封装
  }
}
  • 这样至少在代码层面上提示使用方必须处理错误的场景,进行数据回滚和在界面上进行提示。

相关文章

  • Java程序中异常的使用

    在Java中如何使用好Exception是门艺术。 一般我们常见的有checked异常(Exception)和un...

  • Java 异常

    用于记录java中异常的学习情况以及使用情况 以上是个人对java异常学习的过程图。 什么是异常 我们在编写程序的...

  • Java基础之异常处理

    Java基础之异常处理 在Java程序中,异常分为编译异常以及运行时异常 编译异常:程序在编译期间就出现的异常,必...

  • tomcat OutOfMemory 终极解决办法

    使用Java程序从数据库中查询大量的数据时出现异常: java.lang.OutOfMemoryError: Ja...

  • Java 异常处理

    1. Java异常体系 Java异常体系设计的目的在于通过使用少量代码,实现大型、健壮、可靠程序。 1.1. 异常...

  • 崩溃优化笔记

    Java崩溃 Java 崩溃就是在 Java 代码中,出现了未捕获异常,导致程序异常退出 Native崩溃 代码中...

  • 异常

    java异常处理目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成。Java中Throwable类是所...

  • Java异常简介及其架构

    Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理...

  • Effective Java 随笔(异常)

    异常第57条:只针对异常的情况使用异常Java程序设计的时候,只针对有异常的情况,才考了使用异常。实际上,基于异常...

  • 异常处理机制

    JAVA异常机制 一、基本概念在Java中这种在程序中运行时可能出现的一些错误称为异常。Java处理异常时,如果某...

网友评论

      本文标题:Java程序中异常的使用

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