Ruby最佳实践--不要rescue Exception,rescue StandardError
2016-04-07 14:31
525 查看
重构前
显式地捕获Exception将会捕获甚至会捕获非正常可修复的错误比如SyntaxError, LoadError, and Interrupt。begin foo rescue Exception => e logger.warn "Unable to foo, will ignore: #{e}" end
重构
如果你省略Exception类型标志,那么Ruby会只捕获StandardError,而这可能才是你想要的:begin foo rescue => e logger.warn "Unable to foo, will ignore: #{e}" end
也可以参考:
http://stackoverflow.com/questions/10048173/why-is-it-bad-style-to-rescue-exception-e-in-ruby
原文地址
http://rails-bestpractices.com/posts/2012/11/01/don-t-rescue-exception-rescue-standarderror/相关文章推荐
- 开源web项目 ----------转载
- Ruby之基础介绍(二)
- Ruby On Rails--rake 任务中定义方法的陷阱
- 安装cocoapods的时候显示没有权限:You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
- 解析proxy代理模式在Ruby设计模式开发中的运用
- 设计模式中的观察者模式在Ruby编程中的运用实例解析
- 实例解析Ruby设计模式开发中对观察者模式的实现
- 深入剖析Ruby设计模式编程中对命令模式的相关使用
- 如何在Mac OS X上安装 Ruby运行环境
- ruby on rails 入门注意事项
- 部署自己的gitlab服务器 推荐
- ruby安装
- 详解Ruby中正则表达式对字符串的匹配和替换操作
- 总结整理 -- ruby系列
- Ruby语言基础学习十一:Ruby异常 和综述
- Ruby语言基础学习十:Ruby文件输入输出
- Ruby语言基础学习九:Ruby范围、迭代器、
- Ruby语言基础学习八:Ruby哈希、时间、
- Ruby语言基础学习七:Ruby字符串、数组、
- Ruby语言基础学习六:Ruby模块、引用其他程序、Mixins