Rumah  >  Soal Jawab  >  teks badan

javascript - 请问在一个多层的JAVA企业项目中,大家是如何设计统一异常处理的?

请教各位在一个多层的JAVA企业应用中,统一的异常处理要考虑哪些方面?诸如如何设计自定义异常、如何捕获、是否需要定义错误码、哪些做成checked Exception,哪些做成unchecked Exception等等? 希望有高手不吝赐教:)

迷茫迷茫2773 hari yang lalu291

membalas semua(2)saya akan balas

  • 高洛峰

    高洛峰2017-04-10 17:29:43

    我现在暂时是这样处理的,很基础,自己回答下自己的问题算是抛砖引玉吧:

    1、继承RuntimeException的BusinessException,统一作为抛出的异常;
    2、定义ErrCode的枚举,定义BusinessException抛出的异常类型;
    3、各层抛出的异常,除记录日志等处理外,业务层由Action层(即后台的最上层)统一catch并处理;(包括返回统一的出错页面)
    4、普通方法返回的业务异常(程序是正常,但业务分支是错误的),通过返回值中的错误码返回;
    5、对上述返回值定义一个CommonResult,包含错误码和回参的HashMap;

    balas
    0
  • PHP中文网

    PHP中文网2017-04-10 17:29:43

    如果是spring,有ExceptionHandler,定义一个继承RuntimeException的APIException,里面包含不定变量status(HttpStatus),然后抛出的时候throw new APIException(“error_message”,HttpStatus.XXX)

    然后在全局的ExceptionHandler里面捕捉APIException,handler里面做两样东西,1是对error_message的格式化,例如要求json,封装成json,然后带着传过来的Status做Response,如果是返回页面,Spring配置视图解析,然后返回字符串即可

    balas
    0
  • Batalbalas