類別 OptionParser::ParseError

來自 OptionParser 的例外基本類別。

常數

原因

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