ごとけんです

In message "[ruby-list:26799] evel & rescue"
    on 00/12/24, " たけ (tk)" <ggb03124 / nifty.ne.jp> writes:
>次のようなスクリプトで eval の例外が rescue にかからなかったです。
>
>ruby 1.4.3 (1999-12-08) [i386-cygwin] ではちゃんと取れていたのですが
>ruby-1.6.2-preview4.tar.gz では次のようになるようです。
>
>C:\usr\src\ruby-1.6.2\win32>ruby c:/usr/src/e.rb
>c:/usr/src/e.rb:8: (eval):1: compile error (SyntaxError)
>(eval):1: unterminated regexp meets end of file

SyntaxError は StandardError ではないので指定無しの rescue 
では拾えません。もしすべての例外を拾いたいなら Exception を
指定する必要があります。

  begin 
    eval '/'
  rescue Exception => err
    puts err.inspect + " happened!"
    p SyntaxError < StandardError    #=> false
    p SyntaxError.ancestors          #=> [SyntaxError, ScriptError, ...
  end

-- gotoken