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