Exception处理
来源:互联网 发布:nginx pathinfo 编辑:程序博客网 时间:2024/05/17 03:20
1 原则
如果被调用方显示的向上Throw了Exception , 那么调用方【必须显示地处理】Exception(向上Throw或者Try...Catch);
2 避免异常堆栈信息被吞掉
如果被调用方Try...Catch了Exception,但没有打印Exception堆栈信息;而此时调用方也无法获得Exception的信息,那么【Exception堆栈就被吞掉了】。
3 被调用方只要CatchException 就可以随时打印异常的堆栈信息,但是调用方想拿到异常的信息一般有如下两种方式:
方式一、被调用方、调用方都需要处理异常
此时,需要被调用方catch住Exception并处理,然后在catch模块里面再向上Throw这个Exception对象e;然后调用方再catch住这个Exception对象e,并处理。
方式二、被调用方不需要处理异常、调用方需要处理异常
此时,被调用方不需catch Exception,只需要向上Throw Exception即可,调用方直接catch Exception即可。
4 被调用方异常处理后返回值处理
5 总结
1、如果“被调用方”和“调用方”在同一个项目中(并且部署在同一台机器上),那么建议一方打印Exception即可(避免打印重复的日志)。
2、如果“被调用方”和“调用方”在同的项目中,或者部署在不通的机器上(例如分布式项目的api&service),那么建议双方都需要打印异常,方法如下:
首先,被调用方:首先,要在方法声明上显示地Throw Exception,其次要try...catchException 并在catch里面log.error(e.getMessage,e);和手动向上跑出异常throw new Exception(e);
其次,调用方 :try...cacheException 并log.error(e.getMessage,e);
- exception处理
- Exception处理
- Exception处理
- exception 处理规则
- struts5 exception处理
- Exception(异常处理)
- JAVA Exception 处理注意事项
- 常见EXCEPTION处理
- Exception异常处理
- java exception处理心得
- Exception处理最佳实践
- Android: FATAL EXCEPTION 处理
- Oracle Exception 异常处理
- java异常处理Exception
- Java异常处理Exception
- python Exception 异常处理
- 【java】 异常处理 exception
- java异常处理Exception
- J2EE学习中一些值得研究的开源项(转)
- Java导出excel
- Storm实时大数据处理(三)
- Java Float类型 减法运算时精度丢失问题
- Spring创建Bean的三种方式
- Exception处理
- jQuery-简单点赞功能实现
- eclipse调试总结(转)
- 探索ORACLE之ASM概念(完整版)
- HTTP状态码(好)
- eclipse常用插件安装
- DOM
- 设计模式-代理模式
- 3DES加解密算法