[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 メーリングリストの案内