在Argument Error消息的上方和下方添加一个空行

时间:2014-03-16 14:53:37

标签: ruby exception

这是我目前如何引发参数错误。

raise ArgumentError, "\n\n Critical Error: The input file doesn't exist\n\n"

当引发错误时,它会在消息的上方和下方生成一行;这样可以更容易地看到消息...

由于我在脚本中引发了很多错误,我想知道是否可以以某种方式重写ArgumentError方法,这样我就不必在每条消息之前和之后键入\n\n

我已经看过网络如何做到这一点,但没有成功。

编辑:

根据要求,这是我提出错误的方法。我有很多方法也会引发错误

 def input_file_format(input_file)
  unless File.exist?(input_file)
    raise ArgumentError,
          "\n\nCritical Error: The input file '#{input_file}' does not" \
          " exist.\n\n"
  end
  if File.zero?(input_file)
    raise ArgumentError,
          "\n\nCritical Error: The input file '#{input_file}' is empty.\n\n"
  end
end

1 个答案:

答案 0 :(得分:3)

这里最简单的解决方案是创建一个简单的方法,为您抛出ArgumentError,并添加换行符:

def error(msg)
  raise ArgumentError, "\n\n%s\n\n" % msg
end

然后,您可以在需要时使用错误消息调用此error方法。您可以对此进行扩展以支持其他参数,以指定在发生各种错误时要引发的错误。