提问人:Zixxy7 提问时间:8/16/2022 更新时间:8/16/2022 访问量:197
如果值小于指示值,则引发自定义异常
Raise Custom Exception if Value is Less than Indicated Value
问:
我正在编写一个代码,其中用户必须输入一个整数,并且代码需要在两种情况下使用自定义文本引发自定义异常: a) 如果输入不是整数 b) 如果整数小于 8
我做了第一部分:
begin
print "Enter the price: "
price = Integer gets
rescue
puts "Error: the entered value is not a number"
raise
end
但是如果输入的数字小于 8,我不知道如何引发错误。它需要如下所示:
Enter the price:
==> 7
Output:
==> Error: the minimum price needs to be at least 8 euro
对不起,这么基本的问题。我仍在学习,异常处理对我来说是很新鲜的话题。
答:
3赞
spickermann
8/16/2022
#1
您可以引发如下异常:
if price < 8
raise ArgumentError, 'the minimum price needs to be at least 8 euro'
end
评论
0赞
Zixxy7
8/16/2022
那行得通!谢谢!但是,理想情况下,我想完全跳过“ArgumentError”或将其更改为“Error”或其他自定义名称,以免混淆用户?
2赞
spickermann
8/16/2022
我只是使用,因为这是 Ruby 内置的匹配默认异常(参见:Ruby 的异常与 StandardError)。但是,当它更适合您的领域时,请随意使用其他东西。ArgumentError
评论
raise "the entered value is not a number"