【发布时间】:2011-11-18 00:54:00
【问题描述】:
谁能告诉我有没有办法将异常处理作为一种常用方法并在方法中使用它?让我进一步解释一下。
例如,我有以下方法
def add(num1, num2)
begin
num1 + num2
rescue Exception => e
raise e
end
end
def divide(num1, num2)
begin
num1 / num2
rescue Exception => e
raise e
end
end
如你所见,尽管我的方法只需要一行,但由于异常处理代码,该方法变得更大。
我正在寻找的是一个更苗条的解决方案,比如(只是一个想法)
def add(num1, num2)
num1 + num2 unless raise_exception
end
def divide(num1, num2)
num1 / num2 unless raise_exception
end
def raise_exception
raise self.Exception
end
请注意上面的代码不起作用,只是我的想法。这是可能的还是有其他好的方法?
【问题讨论】:
-
请注意,您还可以通过消除
begin..end来减少冗长,因为您可以在def..end中添加rescue以达到相同的效果。