From: matz@... (Yukihiro Matsumoto) Date: 1999-10-24T00:13:05+09:00 Subject: [ruby-dev:8105] Re: signal exception semantics まつもと ゆきひろです In message "[ruby-dev:8094] Re: signal exception semantics" on 99/10/23, nobu.nakada@nifty.ne.jp writes: |matz@netlab.co.jp (Yukihiro Matsumoto) wrote: |> つーか、コードを見ても「signal のブロックに限らず、例外に処 |> 理されたことを通知してやる」ってのが具体的にどういうことを目 |> 指しているのかいまいち分かんなかったです。 | | 「あんたは今 rescue されたから、あるいは別の例外が発生したから、 |もう用済」と死刑宣告(^^;するということです。C++ のようにオブジェ |クトのライフスパンが lexical な言語だとデストラクタをこっそり仕込 |んどいたりできますが、それをあからさまにやってやるということです。 うーむ、lexicalなオブジェクトのライフスパンってのは大嫌いな んですが、それはそれとしても、Rubyの例外は一度rescueされても 再raiseされることもありますし、あんまり明示的な死刑宣告はそ ぐわないように感じます。 また、仮に死刑宣告の導入により「例外が生きている」期間を定義 できるようになったとして、その「生きている」間だけsignalをブ ロックするという仕様がふさわしいかどうかも確証が持てません。 というのもUNIXシグナルと例外とではかなりモデルが違うので、ハ ンドラが無く仕方なく写像しちゃった場合にはすでにシグナルモデ ルとは違うものですから、むりにブロックするという元の挙動を保 存する必要もなさそうに思うからです。 | ずっと腐り切ったソースばかり見てたんで、リハビリが必要なようで |す。はっきり言って全部捨てて(並列処理をサポートする言語で)書き直 |したいところですが、Enterprise Edition の方のご予定は?(笑) マジな話だと仮定すると、うちの会社に連絡くだされば、Rubyプロ グラムの商用サポートの見積りは出せると思いますです。 まつもと ゆきひろ /:|)