gpt4 book ai didi

ruby - 将异常处理作为 Ruby 中的常用方法

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:15 25 4
gpt4 key购买 nike

有人能告诉我有没有办法将异常处理作为一种通用方法并在方法中使用它?让我进一步解释一下。

例如我有以下方法

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

如您所见,尽管我的方法只需要一行,但由于异常处理代码,该方法变得更大了。

我正在寻找的是一个更 slim 的解决方案,比如(只是一个想法)

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

请注意上面的代码不起作用,这只是我的想法。请问这样可以吗,还有什么好的方法吗?

最佳答案

def handle_exception(&block)
yield
rescue Exception => e
raise e
end

def add(num1, num2)
handle_exception { num1 + num2 }
end

def divide(num1, num2)
handle_exception { num1 / num2 }
end

关于ruby - 将异常处理作为 Ruby 中的常用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com