raise
raiseで例外を投げることができます。
newメソッドがあるのに、あたかもないかのように見せてみます。しかも怪しいコールスタックで♪
class Rubyco def self.new raise NoMethodError, "undefined method `new' for #{self}::#{self.class}", [ "rubyco.rb:314", "deep.rb:159", "deeper.rb:265", "deepest.rb:358", ] end end Rubyco.new
実行結果です。
rubyco.rb:314: undefined method `new' for Rubyco::Class (NoMethodError) from deep.rb:159 from deeper.rb:265 from deepest.rb:358
追記:2chのスレタイ風にちょっとウケました。ありがとうございます♪