From: Kouhei S. <ko...@co...> - 2006-06-14 14:28:37
|
須藤です. In <a79...@ma...> "Re: [ruby-gnome2-devel-ja] コールバック中の例外" on Wed, 14 Jun 2006 17:12:08 +0900, "Kouhei Sutou" <ko...@co...> wrote: > > > > > > http://www.rubyist.net/~nobu/t/20060614.html#p01 > > > > > > で言われている「境界面でラップする」という解決法を具体的にど > > > のように実現すればよいかがわかりません.だれか教えてもらえま > > > せんか? > > > > コールバックで発生した例外等を、glib側にリターンする前にどこかに保存しておいて、 > > glib側からruby側にリターンしたときに、それを再び投げるということでしょう。 > > ただ,「再び投げる」というのが実現できたとしても,Ruby側に > リターン出来る場合はすぐにリターンした方が自然な気がします > (現在の動作と同じ).そうしたい場合はRuby側にリターンでき > るかどうかがわからないといけないと思いますが,そういうこと > ってできるのでしょうか. 少し考えたのですが,もし,リターンできないというのがわかるな ら,そのときはSTDERRとかg_logとかでメッセージを表示するだけ で例外をあげない,というのが落としどころのような気がします. |