要約
Kernel.#require、Kernel.#require_relative、Kernel.#load が失敗したときに発生します。
LoadError を捕捉する例# lib-a が require できなければ代替の lib-b を使う
begin
require "lib-a"
rescue LoadError
require "lib-b"
end
LoadError は StandardError のサブクラスではないので、例外型を指定しない rescue では捕捉できないことに注意してください。
目次
- インスタンスメソッド
継承しているメソッド
- Exceptionから継承している特異メソッド
- Exceptionから継承しているメソッド
インスタンスメソッド
path -> String | nilRuby 2.0.0 から[permalink][rdoc][edit]-
Kernel.#require、Kernel.#require_relative、Kernel.#load に失敗したパスを返します。
begin require 'this/file/does/not/exist' rescue LoadError => e p e.path # => 'this/file/does/not/exist' endKernel.#eval に与えた文字列中での Kernel.#require_relative は、読み込み元のファイルが存在しないため、読み込み先のパスが定まらず、
LoadError#path が nil になる例LoadErrorが発生し、LoadError#pathはnilを返します。begin eval "require_relative 'foo'" rescue LoadError => e p e.path # => nil p e.message # => "cannot infer basepath" end