架构设计之异常处理(第一讲)
2015-12-16 10:35
423 查看
摘自51CTO ,感觉挺有道理的一段话,如下:
1、通常异常是用于去扑捉错误的发生,让开发人员可以针对不同的错误做处理,但是有时候可以利用异常去处理一些特殊问题。你说的Dao、Service、Action或者说工具类的异常,是否往上抛取决于你是否想捕获该异常并做处理,例如:HibernateException异常,在写Dao方法时一般会捕获该异常的。又比如:在写用户登录接口时,如果用户不存在,我可以选择自定义异常UserNotFoundException,在ACtion层中调用Service层的Login方法,如果用户不存在,我将该异常抛出,那么Action层便可以扑捉到该异常,并做出处理。如果你要去了解他们的异常是否是throw,还是try
-- catch,最好看源码。如果是throw那么你在调用的时候,就必须try -- catch或者再往上一层应用抛出。
2、至于java异常的机制,主要分为Error,Exception、RuntimeException;
Error:是JVM处理的,一般不用去管理;
Exception:是必须捕获的异常
RuntimeException:也称之为运行期异常,java自己会处理该异常,当然也可以用try -- catch捕获
3、总结:
在实际开发中,通常回去使用日志记录异常的发生,这些日志一部分是DEBUG日志,一部分用于数据统计。但是不管咋么样,如果你想知道错误的发生来源,并通过自己的日志管理方式管理,那么通常会手动去扑捉(try-catch)异常,然后通过e.getMessage获取异常信息,将其记录在日志中,如果自己不管理,例如:在Tomcat服务器中,会记录在catalina.out日志文件中。
异常的重要性那是不言而喻的,至于楼主说的怎么往上抛,怎么捕获。不应该去考虑框架本身如何去管理,而是在于你是否需要错误处理,如果需要就try--catch,不需要那么交由给框架或者Tomcat等服务器记录异常的发生。
1、通常异常是用于去扑捉错误的发生,让开发人员可以针对不同的错误做处理,但是有时候可以利用异常去处理一些特殊问题。你说的Dao、Service、Action或者说工具类的异常,是否往上抛取决于你是否想捕获该异常并做处理,例如:HibernateException异常,在写Dao方法时一般会捕获该异常的。又比如:在写用户登录接口时,如果用户不存在,我可以选择自定义异常UserNotFoundException,在ACtion层中调用Service层的Login方法,如果用户不存在,我将该异常抛出,那么Action层便可以扑捉到该异常,并做出处理。如果你要去了解他们的异常是否是throw,还是try
-- catch,最好看源码。如果是throw那么你在调用的时候,就必须try -- catch或者再往上一层应用抛出。
2、至于java异常的机制,主要分为Error,Exception、RuntimeException;
Error:是JVM处理的,一般不用去管理;
Exception:是必须捕获的异常
RuntimeException:也称之为运行期异常,java自己会处理该异常,当然也可以用try -- catch捕获
3、总结:
在实际开发中,通常回去使用日志记录异常的发生,这些日志一部分是DEBUG日志,一部分用于数据统计。但是不管咋么样,如果你想知道错误的发生来源,并通过自己的日志管理方式管理,那么通常会手动去扑捉(try-catch)异常,然后通过e.getMessage获取异常信息,将其记录在日志中,如果自己不管理,例如:在Tomcat服务器中,会记录在catalina.out日志文件中。
异常的重要性那是不言而喻的,至于楼主说的怎么往上抛,怎么捕获。不应该去考虑框架本身如何去管理,而是在于你是否需要错误处理,如果需要就try--catch,不需要那么交由给框架或者Tomcat等服务器记录异常的发生。
相关文章推荐
- Ruby中的异常处理代码编写示例
- MySQL抛出Incorrect string value异常分析
- 详解JavaScript中的异常处理方法
- java程序中的延时加载异常及解决方案
- 解析Java异常的栈轨迹及其相关方法
- .NET(C#):Emit创建异常处理的方法
- windows7服务器上weblogic启动失败异常解决方法
- 有关ajax的error与后台的异常问题解决
- 深入探讨JAVA中的异常与错误处理
- GO语言异常处理机制panic和recover分析
- 浅谈JAVA 异常对于性能的影响
- C++ 异常处理 catch(...)介绍
- php中异常处理方法小结
- PHP中异常处理的一些方法整理
- 浅析Lua编程中的异常处理
- Perl中捕获警告信息、异常信息并写入日志详解
- 格式导致的Excel导入sql出现异常的解决方法
- Powershell小技巧之捕获脚本内部的异常
- Java多线程之多线程异常捕捉
- 详解Java异常处理中throw与throws关键字的用法区别