[#24112] ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。原因を追求してたのですが、力尽きました。

19 messages 2004/08/18
[#24127] Re: ruby/tk crashes on bcc32 — Hidetoshi NAGAI <nagai@...> 2004/08/19

永井@知能.九工大です.

[#24131] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。

[#24135] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。試行錯誤の結果、これで落ちなくなりました。

[ruby-dev:24199] Re: Exception handling miss?

From: matz@... (Yukihiro Matsumoto)
Date: 2004-08-29 15:46:58 UTC
List: ruby-dev #24199
まつもと ゆきひろです

In message "[ruby-dev:24198] Exception handling miss?"
    on 04/08/29, SASADA Koichi <ko1@atdot.net> writes:

| 例外回りを考えていたんですが,
|
|class E1 < Exception; end
|
|begin
|  1.times{
|    begin
|      raise E1
|    ensure
|      next
|    end
|  }
|rescue E1
|  # 実行されない
|  p :rescue, $! # (*)
|end
|
|
| こんなケースでは,(*) の部分は実行してほしい気がするのですが,
|どうでしょうか.

例外発生時にensure節内でジャンプが発生した時の妥当な挙動は、
例外を無視することだと思うので(Javaもそうみたいだし)、これは
このままでよいんじゃないかと思います。

|class E1 < Exception; end
|1.times{
|  begin
|    raise E1
|  ensure
|    break
|  end
|}
|p $! #=> #<E1: E1>
|
| なケースで #<E1: E1> となっているのは変だと思います.
|(上を無くせば問題ないような気がします)

あからさまに変とまでは言えないんじゃないかと思います。どうあ
るべきかと問われても、明確に答えられませんから、どうでも良い
と言うのが正解かも。YARVの実装上より都合が良い挙動があったら
聞かせてください。

                                まつもと ゆきひろ /:|)

In This Thread