method_missing Rubyでは通常、存在しないメソッドを呼び出した場合エラーが発生する。 class Siman end s = Siman.new s.hello method_missing.rb:5:in `<main>': undefined method `hello' for #<Siman:0x007f811c066798> (NoMethodError)NoMethodErrorが発生。 このエラーメッセージは実はmethod_missingというメソッドが内部で呼び出されて表示させているものなのである。 なのでこのmethod_missingをオーバーライドすることで独自のエラーメッセージを表示させることが出来る。 class Siman def method_missing(name, *args) puts "#{name}メソッドは存在していません。"