[ruby-dev:3482] Re: Exception

From: matz@... (Yukihiro Matsumoto)
Date: 1998-08-26 03:49:41 UTC
List: ruby-dev #3482
まつもと ゆきひろです

In message "[ruby-dev:3481] Re: Exception"
    on 98/08/26, 石塚圭樹 <keiju@rational.com> writes:

|けいじゅ@日本ラショナルソフトウェアです.

|例外オブジェクトに対してバックトレース情報を設定する方法はないのかな?
|間接的になら,

Exception#set_backtraceでできます.反対に取り出す方は
Exception#backtraceね.

|あ. そうそう. それと絡むけど, メッセージの情報やバックトレース情報って
|インスタンス変数にはいっているわけでないわけね...

デフォルトではインスタンス変数に入ってます.でも,インスタン
ス変数名が普通じゃないので(それぞれ mesg と bt,@がない)普通
の方法では取り出せません.

  Exception#message
  Exception#backtrace

で取り出して下さい.こういう風になっている理由はExceptionの
サブクラスでオブジェクトの構造が通常のオブジェクトでないクラ
スを定義できるようにするためです.

|>        An Exception object is expected
|>
|>の方がしっくりきますね.
|
|もうちょっと欲しいんだけどなあ...
|
|An Exception object is expected, or 第2引数をつけてね
|
|って感じ..

うーむ,こだわってますね.まあ,第一引数しか与えられてなくて,
それがExceptionのサブクラスだった場合には第二引数に対して言
及することには意味があるとは思うのですが,前述のようにraise
は第一引数にnewを渡した結果が例外であることしか仮定していま
せんからねえ.

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

In This Thread

Prev Next