min*_*eow 4 ruby refactoring exception-handling ruby-on-rails
我有一系列使用相同异常处理的方法.
如何将异常检查抽象为单独的函数?
请参阅下面的示例,非常感谢您的帮助!
def a
code
begin
rescue 1...
rescue 2...
rescue 3...
rescue 4...
end
end
def b
code
begin
rescue 1...
rescue 2...
rescue 3...
rescue 4...
end
end
Run Code Online (Sandbox Code Playgroud)
Jon*_*han 10
最简单的解决方案是将代码作为块传递给方法,并在开始/救援表达式中将其生成:
def run_code_and_handle_exceptions
begin
yield
rescue 1...
rescue 2...
rescue 3...
rescue 4...
end
end
# Elsewhere...
def a
run_code_and_handle_exceptions do
code
end
end
# etc...
Run Code Online (Sandbox Code Playgroud)
您可能想要提供比run_code_and_handle_exceptions更简洁的方法名称!
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |