我有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发布于 2012-12-30 01:16:06
我通常倾向于避免在Ruby中进行论证验证。
然而,这真的取决于你的主要目的是什么。如果您关心可靠性,那么当参数导致无法恢复的错误时,采取防御措施并引发异常。
它还取决于您的用例:
一种有效的方法可能是在调试阶段使用参数检查,用于检测API的错误和误用,然后--一旦测试--删除检查。
底线是,这个棘手的问题没有完美的答案。它非常依赖于上下文和开发人员的个人判断。
https://stackoverflow.com/questions/14087294
复制相似问题