class OptionParser::ParseError

来自 OptionParser 的异常的基类。

常量

Reason

导致错误的 Reason

属性

additional[RW]
args[R]
reason[W]

公共类方法

filter_backtrace(array) 点击切换源代码
# File lib/optparse.rb, line 2145
def self.filter_backtrace(array)
  unless $DEBUG
    array.delete_if(&%r"\A#{Regexp.quote(__FILE__)}:"o.method(:=~))
  end
  array
end
new(*args, additional: nil) 点击切换源代码
# File lib/optparse.rb, line 2126
def initialize(*args, additional: nil)
  @additional = additional
  @arg0, = args
  @args = args
  @reason = nil
end

公共实例方法

inspect() 点击切换源代码
# File lib/optparse.rb, line 2172
def inspect
  "#<#{self.class}: #{args.join(' ')}>"
end
message() 点击切换源代码

默认的字符串化方法,用于发出标准错误消息。

# File lib/optparse.rb, line 2179
def message
  "#{reason}: #{args.join(' ')}#{additional[@arg0] if additional}"
end
也称为:to_s
reason() 点击切换源代码

返回错误原因。对于 I18N 覆盖此方法。

# File lib/optparse.rb, line 2168
def reason
  @reason || self.class::Reason
end
recover(argv) 点击切换源代码

将错误参数推回 argv

# File lib/optparse.rb, line 2140
def recover(argv)
  argv[0, 0] = @args
  argv
end
set_backtrace(array) 点击切换源代码
调用超类方法 Exception#set_backtrace
# File lib/optparse.rb, line 2152
def set_backtrace(array)
  super(self.class.filter_backtrace(array))
end
set_option(opt, eq) 点击切换源代码
# File lib/optparse.rb, line 2156
def set_option(opt, eq)
  if eq
    @args[0] = opt
  else
    @args.unshift(opt)
  end
  self
end
to_s()
别名:message