まつもと ゆきひろです.

In message "[ruby-list:2072] fail failed?"
    on 97/02/06, sinara / blade.nagaokaut.ac.jp <sinara / blade.nagaokaut.ac.jp> writes:
|
|原です。
|
|以下のコードを実行してみると、

failの第2引数が例外であった場合,第1引数を無視していました.

|ついでに一つ提案なんですが、rescue 節の
|
|fail
|
|は、直前の例外の再発生ですよね。現在
|
|fail "string"
|
|では、RuntimeError を発生しますが、これを直前の error_type の
|再発生(でメッセージを "string" にしたもの)にする手もあるか
|と思うのですがいかがでしょう。

うーん,現状で直前のerror_typeのままメッセージを変更すること
ができないというのは確かに事実なんですけど,それを行うために
そういうしようにしちゃうと

  fail "error"

を

  fail RuntimeError, "error"

の代わりに使っているプログラムの意味を変えちゃうんで(たぶん,
関係ない例外名になってしまう),ちょっとまずいですね.こうい
うことをすることが必要であるということになれば,たとえば

  reraise ["message"]

で,直前の例外を再発生,messageが指定されれば同じ型でメッセー
ジだけ変えるなんて仕様には出来ると思いますけど.

でも,必要ですか?
                                まつもと ゆきひろ /:|)