JFinal的异常处理机制如何?是否有自动catch机制?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
JFinal 异常处理采用如下设计原则:
1:尽可能地使用RuntimeException,
使代码干净整洁。
2:集中式统一处理异常,使架构简洁清晰。
具体到代码,请看`ActionHandler `这个类,几乎所有异常都在这里处理。`Handler在ActionHandler`之外,所以这部的异常在JFinalFilter中处理。
除此之外,由于一些特定的需求,有些地方需要对异常进行单独处理,例如 JFinal 声明式事务,需要对原子操作内的所有异常进行捕获并做 rollback 处理。即便如此,异常在此处被捕捉到以后仍然会再次抛出到 ActionHandler 这个集中处理的地方统一处理并做日志。