抛出exception
来源:互联网 发布:excel 数据截断 编辑:程序博客网 时间:2024/05/21 19:39
今天整理公司对FileNet API接口的封装,主要做的事情是将catch住的异常释放开抛出去。对于封装好的组件来讲,它本身是一个工具,是要能够让上层用户很好的使用,如果catch住例外,势必导致整个系统无法得之一些异常信息,更不用谈对相关例外做出合理处理了。例如,在开发中的ECM系统诸如流程、履历关键信息等需要FileNet与DB同步或相互补充配合,而某种异常出现时,也许操作DB使用的接口(例如OPENJPA)很容易遇到异常进行了回滚。异常出现点如果是DB方面还好,但如果是FileNet接口方面,使用了公司这套接口后,则捕获FileNet 异常,导致DB的数据依旧写入,DB和FileNet数据不一致。这也是成熟框架所不能疏漏的问题。
在一个代码块或一个功能点上可能需要处理的异常不止一处,可能异常相同也可能很不相同,这就要综合分析这些异常捕获的粒度,权衡此块功能遇到异常可能要告诉调用者多少种信息了。但有一点应该明确,就是无论这个功能块捕获多少次异常,每一次捕获异常时都要捕获尽可能小的异常,而不要定位父类异常让问题不清晰。
对向上抛出的异常可以是基础异常(例如java自身含有的异常),也可以是针对不同项目所使用的异常。对异常信息进行整理归类进行编码,使用编码来传输相关异常信息在实践中还是值得尝试的。而对于异常接收方在处理时一定要根据问题的性质适时做好相关操作,例如
本文讲述了底层支撑性框架或组件要将有效异常信息抛出去的重要性,并对不同代码逻辑所捕获异常的粒度进行综合分析,将最能说明此功能块产生问题的几种最小异常抛出从而精确定位问题的思路进行了概述。其关键点在于合理利用异常和log,而这只是优良软件的一小部分,然而单讲exception和log在代码中的作用和深远意义也不止于此。
- 抛出exception
- C++抛出异常exception
- throw new Exception抛出异常的接收
- [Java] throw Exception 声名抛出异常
- dom4j读取xml文件抛出nested exception
- Thread. sleep()是否会抛出checked exception?
- 抛出了无数的Exception,但是Exception到底是啥?解开Exception的神秘面纱...
- JAVA mail MimeUtility.quote 函数抛出 NULL Pointer Exception.
- 通过spring的aop统一拦截Exception抛出自定义异常
- Jersey 中抛出 should not consume any form parameter. exception
- Dubbo抛出自定义异常时报:Got unchecked and undeclared exception
- java抛出异常try{} catch{}与 throws Exception
- java中的throw new Exception();和throw e;异常抛出
- Spring 事物抛出Exception 异常时事物没有回滚
- int.parse("abcd")为什么会抛出exception,参数不是数字时为什么出exception
- java 中的checked exception vs unchecked exception及异常处理或抛出原则
- Jbpm发邮件抛出Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
- C++能否抛出一个不是继承自std::exception的异常
- Hibernate Annotations--实体Bean
- android Launcher2浅析
- android环境搭建
- Html学习笔记(5)XHTML基础语法
- eclipse之web部署
- 抛出exception
- aspnet_wp.exe could not be started
- 【Django tutorial 2】
- 串口通信CSerialPort类WriteToPort不能连续发送的问题
- strstr源代码
- 汇编:div指令讲解
- 一道C#竞赛题
- 在Linux下安装android开发环境并以USB调试方式链接手机进行开发e
- Adapter example2