我有Java背景和Java,当程序员调用带有错误参数的方法时,会抛出异常。 Ruby程序员如何处理错误的方法参数?
核心类的两个相反的例子:
irb(main):009:0> "" * (-2)
ArgumentError: negative argument
from (irb):9:in `*'
from (irb):9
from C:/Ruby/Ruby193/bin/irb:12:in `<main>'
irb(main):013:0> (-2).times { puts 'hello' }
=> -2
答案 0 :(得分:3)
我通常倾向于避免Ruby中的参数验证。
但是,这实际上取决于您的主要目的。如果您担心可靠性,那么只要参数会导致不可恢复的错误,就采取防御措施并提出异常。
还取决于您的使用案例:
一种有效的方法可能是在调试阶段使用参数检查,有助于检测API的错误和误用,然后 - 一旦测试 - 删除检查。
底线对于这个棘手的问题没有完美的答案。它非常依赖于上下文和开发人员的个人判断。