gpt4 book ai didi

Ruby 忽略救援 ArgumentError

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

当我运行以下命令时,救援似乎因 ArgumentError 而被忽略。来自 Ruby 的 ArgumentError 错误消息出现在控制台上,但我的 puts 消息没有。我尝试使用 TypeError 和 ZeroDivisionError 进行救援,它成功了。

def divide(a, b)
begin
a.to_s + ' divided by ' + b.to_s + ' is ' + (a/b).to_s
rescue ArgumentError
puts 'there must be two arguments'
end
end

divide(4)

最佳答案

异常不是在函数内部抛出,而是在调用它的地方抛出,所以你需要在别的地方捕获它:

def divide(a, b)
a.to_s + ' divided by ' + b.to_s + ' is ' + (a/b).to_s
end

begin
divide(4)
rescue ArgumentError
puts 'there must be two arguments'
end

虽然这有效,但捕获 ArgumentError 是一个非常糟糕的主意,因为它表明您的代码中存在您不应该能够从中恢复的错误。

关于Ruby 忽略救援 ArgumentError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692860/

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