このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.1 リファレンスマニュアル

class LoadError

[edit]

要約

Kernel.#requireKernel.#require_relativeKernel.#load が失敗したときに発生します。

LoadError を捕捉する例
# lib-a が require できなければ代替の lib-b を使う
begin
  require "lib-a"
rescue LoadError
  require "lib-b"
end

LoadErrorStandardError のサブクラスではないので、例外型を指定しない rescue では捕捉できないことに注意してください。

目次

インスタンスメソッド

継承しているメソッド

Exceptionから継承している特異メソッド
Exceptionから継承しているメソッド

インスタンスメソッド

path -> String | nilRuby 2.0.0 から[permalink][rdoc][edit]

Kernel.#requireKernel.#require_relativeKernel.#load に失敗したパスを返します。

begin
  require 'this/file/does/not/exist'
rescue LoadError => e
  p e.path # => 'this/file/does/not/exist'
end

Kernel.#eval に与えた文字列中での Kernel.#require_relative は、読み込み元のファイルが存在しないため、読み込み先のパスが定まらず、LoadError が発生し、LoadError#pathnil を返します。

LoadError#path が nil になる例
begin
  eval "require_relative 'foo'"
rescue LoadError => e
  p e.path    # => nil
  p e.message # => "cannot infer basepath"
end