gpt4 book ai didi

ruby - 无法捕获 Ruby 中的异常

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

我有这样的东西:

class Vehicle

def self.set_color(input)
if %w{blue red green}.include?(input)
input
else
raise "Bad color"
end
end

end

class Car < Vehicle

def make_car
begin
my_color = Vehicle.set_color("orange")
rescue
puts "you screwed the pooch"
end
end

end

class CarTest < Test::Unit::TestCase
def test_number_one
c = Car.new
c.make_car
end
end

但出于某种原因,我的测试引发异常并停止执行,而不是捕获异常并输出“你搞砸了”。知道为什么会发生这种情况以及如何解决它吗?

谢谢!

最佳答案

不带参数的救援不是异常的“包罗万象”。

如果你只是发出一个“rescue”,它只会拯救一个 StandardError 异常(它会捕获一个 RuntimeError < StandardError),而不是一个 Exception。

如果你真的想捕获一切,你应该做一个


rescue Exception

关于ruby - 无法捕获 Ruby 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1257921/

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