[Yarv-devel] realization of the exception mechanism.
MAEDA Atusi
maeda-yarv @ atusi.org
2004年 2月 23日 (月) 16:54:12 EST
"K.Sasada" <ko1 at namikilab.tuat.ac.jp> writes:
> 忘れられてそうなささだです。
今日、演習中に学部2年生から「yarvのページ見ました」と声をかけられまし
た。
> 例外どうしましょうかねぇ、とかダラダラ考えてます。
>
> 多分、
>
> a) 例外処理用情報を実行時に push して、抜けたら pop する
> b) 例外が発生したときに、全てのフレームとかをチェックしていく
>
> の二つがあると思うんですが、どうしたもんですかねぇ。
a)は、例外処理用情報(例外フレームと呼んどきましょうか)をリンクでつなぐ
とかそういう「例外が起きた時の速度を優先」、b)は「例外が起きない時の速
度を優先」ということでしょうか?
本当に「例外的なことの処理」専用で、頻繁に使わないならb)が有利でしょう
ね。例外処理はメソッド呼び出しほど速くなくてもかまわないでしょ。
> そもそも b が出来るか謎。
Javaみたいに、捕捉する例外クラスが静的に決まるなら、素朴な方法はいくつ
か思いつきますけど、raise節の「捕捉する例外クラス」には定数でなく任意
の式が書けちゃうんですよね?
だから、「例外が起きなければコストはゼロ」というわけにはいかないですね。
どうやっても。
前田敦司
Yarv-devel メーリングリストの案内