异常
使用异常,让你的程序
(1)、写出“现代”的代码
(2)、结构更加清晰
(3)、错误更容易定位
(4)、用户体验更好
(5)、你的模块更加易用和稳定
(6)、你还需要什么呢?
详见:《使用.NET异常机制》
1、每一个系统都要精心设计自己的异常体系结构,例如下图
ELPSysException是系统异常,一般不显示给用户看,主要作用是对check异常的包装。
ELPBizException是所有业务异常的基类,出现这种异常时可以告知用户,可以扩展特定的子异常类。
2、spring mvc在controller层提供了统一的异常处理接口
public class ControllerExceptionResolver implements HandlerExceptionResolver { }
<bean class="com.iflytek.edu.tlsys.web.util.ControllerExceptionResolver"></bean>
3、如果方法调用不经过controller,也可以使用spring的aop机制来进行异常处理
@Aspect public class ExceptionHandleAspect{ /** * 日志 */ private static Logger logger = Logger.getLogger(ExceptionHandleAspect.class); /** * ThriftService实现中的公有方法为切入点。 */ @Pointcut("execution(public * com.iflytek.edu.tlsys.tservice..impl.*Impl.*(..))") public void defaultPointcut(){ } /** * ThriftService实现跌的方法调用出现异常。 * @param ex 异常 * @throws ThrTLSysException 系统异常 * @throws ThrTLBizException 业务异常 */ @AfterThrowing(pointcut="defaultPointcut()",throwing="ex") public void afterThrowing(Throwable ex) throws ThrTLSysException,ThrTLBizException{ logger.error(ex.getMessage(),ex); if(ex instanceof ELPBizException){ throw new ThrTLBizException(ex.getMessage()); }else{ throw new ThrTLSysException(ex.getMessage()); } } }
<aop:aspectj-autoproxy/> <bean class="com.iflytek.edu.tlsys.tservice.ExceptionHandleAspect"/>
日志
系统出现异常时,最常用的处理方式,便是记日志。比较常用的日志工具有log4j、logback。
详见: http://www.cnblogs.com/jenry/archive/2007/04/10/706636.html
搜索关键字:log4j配置
相关推荐
很清晰的代码、很快速教会你使用spring统一异常与日志管理!
所有异常都是Throwable的子类,分为Error(致命异常)和Exception(非致命异常)。Error是一种非常特殊的异常类型,它的出现标识着系统发生了不可控的错误。Exception又分为checked异常(受检异常)和unchecked异常(非受检...
SSH异常和日志处理方案.
vb6.0动态控件异常处理日志 vb6.0动态控件异常处理日志
捕获异常并插入到日志文件中
通过日志文件形式保存安卓程序中出现的异常信息。
异常处理,try-catch-finally块,开源日志记录工具log4j
系统core和java虚拟机异常退出日志设置
基于机器学习的Web日志统计分析与异常检测工具python源码+项目说明.zip 【资源功能介绍】 命令行下的Web日志审计工具,旨在帮助使用者能够在终端上快速得进行Web日志审计和排查,包含了日志审计、统计的终端图形化和...
android工程全局异常处理-将未处理异常日志保存在文件中,可后续开发提交至服务器
大家在Android移动开发的过程中经常会碰到程序异常崩溃,这个Demo是一个例子,可以把错误的日志保存在SD卡中方便测试和开发人员查看
Android捕获全局异常并写日志保存到sd卡,捕获异常消息后输出这个消息,可避免APP强制退出,抛出NullPointException玩玩哈,捕获全局异常是因为有的异常我们捕获不到,捕获时我们采用同步方法,以免单例多线程环境下...
Android中处理崩溃异常和记录日志
程序运行崩溃时捕获异常以及记录程序日志信息到指定文件夹的项目模板,只需修改项目包名及日志信息保存的位置即可。
基于深度学习的系统日志异常检测研究.pdf
android 异常捕捉和日志文件保存
功能:实现AOP中异常日志管理的类
博文《将异常写入事件日志中(一):将异常写入应用程序的事件日志中》的源代码
第7章 异常处理和日志追踪
基于日志的异常检测技术综述.docx