begin sleep 1000 rescue Interrupt p 'exec Ctrl-C!' end # => "exec Ctrl-C!" ということで、放っておいたら1000秒も待ってしまうプログラムです。 プログラムが実行されている間にCtrl-cをするとRubyでは例外クラスの一つであるInterruptが発生します。 class Interrupt | Ruby 2.1.0 リファレンスマニュアル rescueは、捕捉するクラスを指定しない場合にはStandardErrorに属するエラーだけを補足します。 InterruptはStandardErrorではなくSignalExceptionクラスに属しているため、指定しなかった場合には捕捉されません。 Rubyでは他にもScriptErrorなんかもあるので、これらを使えば自前でエラーが起きている箇所をもう少し分かりやすく