ruby - 自定义用于整数转换的异常消息-Ruby

标签 ruby exception error-handling

我正在尝试做一个safe_Int(n)。

如果输入的不是“整数”值(例如:123或'123'),则它应返回TypeError并且消息:“#{n}必须为数字”。

这是我所做的:

def safe_Int(n)
 begin
  Integer(n) rescue TypeError
 rescue TypeError => e
  puts "#{n} is not a number" 
 end 
end

我无法显示我想要的消息。

我收到“没有类到整数的隐式转换”

如何自定义错误消息?

最佳答案

好!找到了我想要的东西:

def safe_Int(n)
Integer(n)
rescue
  raise TypeError.new "#{n} is not a number!"
end

obs:我没有显示完整的代码,所以我不会成为挑战的破坏者。

关于ruby - 自定义用于整数转换的异常消息-Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42915382/

相关文章:

ruby - 为什么从 ruby​​ 中的列表中删除元素在 for 循环中不起作用?

c++ - 我们应该为析构函数提供 no-throw 说明符吗?

c++ - C++ 中的标准或自定义异常?

java - 防止 hibernate 中的 NonUniqueObjectException

r - 如有任何错误,停止执行代码

python - 我不知道如何在python范围内输入日期

ruby - 如何在ruby中获取文件模式?

Ruby代码美化,将长指令拆分成多行

linux - 如何防止错误打破循环

ruby-on-rails - 带有 Rails 的 Wiki 功能?