[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...

荻野です。あったらうれしいメソッドということで書いてみます。

16 messages 2000/03/03

[#21159] メソッドの入り口 — ogino@...

荻野です。もうひとつご指導ください。

93 messages 2000/03/03
[#21170] Re: メソッドの入り口 — Shin-ichiro Hara <sinara@...> 2000/03/03

原です。

[#21243] Re: メソッドの入り口 — keiju@... (石塚圭樹) 2000/03/07

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

[#21247] Re: メソッドの入り口 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/07

[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口) — Hideto ISHIBASHI <s34204@...> 2000/03/08

石橋秀仁です。

[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/08

[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — nobu.nakada@... 2000/03/09

なかだです。

[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — ogino@... 2000/03/09

oop未満の世界観の荻野です。

[#21282] Re: 引数コピーとオブジェクト指向 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/03/09

越水です。

[#21285] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21293] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/10

松尾です。

[#21297] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21302] Re: 引数コピーとオブジェクト指向 — 土岐 仁謙 <toki@...> 2000/03/10

土岐です。

[#21371] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21374] Re: 引数コピーとオブジェクト指向 — TADA Tadashi <sho@...> 2000/03/13

ただただしです。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>

24 messages 2000/03/09
[#21283] Re: raise non-Exception object — nobu.nakada@... 2000/03/09

なかだです。

[#21315] Re: raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp> 2000/03/11

[#21342] Re: raise non-Exception object — nobu.nakada@... 2000/03/12

なかだです。

[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 2000/03/13

[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>

こんにちは Tanです。

16 messages 2000/03/15

[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

27 messages 2000/03/22
[#21584] Re: ruby for Web — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/03/22

なひです.

[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。net/http 使いたおし中。

17 messages 2000/03/27

[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>

前田です。

14 messages 2000/03/28

[ruby-list:21342] Re: raise non-Exception object

From: nobu.nakada@...
Date: 2000-03-12 03:20:37 UTC
List: ruby-list #21342
なかだです。

At Sat, 11 Mar 2000 12:45:26 +0900,
Kenichi Komiya <kom@t3.rim.or.jp> wrote:
> > > StringでもExceptionでないものをraiseしようとすると、実際に投げられるもの
> > > は、そのオブジェクトのexceptionメソッドの返り値になる。その返り値が
> > > ExceptionでなければTypeError(ただし返り値がnilの場合はRuntimeError)。
> > > exceptionの呼びだしで例外が発生すればその例外がそのまま投げられる。
> > > 
> > > これをどこまでドキュメントに反映させるべきかって話もあるとは思いますが、
> > > 「何をraiseされようがrescue Exceptionで待っていれば補足はできる(でも情報
> > > は欠落するカモ)」ということがわかるといいかなと思います。
> > > 
> > > Ruby本の105ページに「新しく例外を定義するときはException(またはそのサブ
> > > クラス)から継承したクラスを定義します。」とある事ですし、いっそそれ以外
> > > のものをraiseしようとしたら単純にArgumentErrorかTyepErrorでいいんじゃな
> > > いかと思うのですが。いかがでしょうか?
> > 
> >   これは解釈の問題かも知れませんが、ArgumentError や TyepError は
> > 本来の exception の前に raise の入口ではねられて発生しているもの
> > だと思います。だから当然意図した exception の情報は持っていない、
> > というか raise の入口で発生した例外のために実際に起こそうとした例
> > 外は捨てられてしまっているということじゃないでしょうか。
> > 
> 
> え〜と、私が書いた「ArgumentErrorやTypeErrorうんぬん」というのは現状の振
> 舞いをそういう風にドキュメントしようという提案ではなく、別にそう仕様だっ
> たとしてもかまわないんじゃないかなぁ、という程度のつもりでした。
> 
> で、仮にそうなっていた場合もなかださんのおっしゃるようにraiseの入口で本
> 来投げようとしていたオブジェクトは捨てられてしまうわけですが、その時に
> 「TypeError:例外じゃないのでダメです!!」とraiseに怒られる方が、現状の
> 「身に覚えのないNameError」より納得しやすいかなと思ったわけです。

  たしかに「なんでNameError?」というのは分かる気がします。一言で
言っちゃうとその辺の振舞が分かりにくい or ちゃんと書いてない、と
いうことですか?

> |raise
> |raise messageまたはexception
> |raise error_type, message
> |raise error_type, message, traceback
> |
> |例外を発生させます.第一の形式では直前の例外を再発生させます. 第二の形
> |式では,引数が文字列であった場合,その文字列をメッセー ジとする 
> |RuntimeError 例外を発生させます.引数 が例外であった場合にはその例外を発
> |生させます.第三の形式では 第一引数で指定された例外を,第二引数をメッセー
> |ジとして発生さ せます.第四の形式の第三引数は $@または callerで得られる 
> |スタック情報で,例外が発生した場所を示します.

  たしかに引数が例外クラス/オブジェクトじゃない場合が書いてない
ですね。

>   例外として発生させようとするオブジェクトがExceptionまたはそのサブクラ
>   スのインスタンスではない場合、そのオブジェクトのexceptionメソッドが返す
>   値が実際に発生する例外になります。この値はExceptionまたはそのサブクラ
>   スのインスタンスでなければなりません。
> 
> ・・・というのを追加するという案です。

  いいんじゃないでしょうか。賛成です。正確には Exception であって
も exception() は呼ばれるようですが、Exception#exception は自分自
身を返すし、Exception.exception は自分のインスタンスを返すので

> 
> ただ、もともとここでの記述って「例外」という言葉をExceptionまたはそのサ
> ブクラス(あるいはそのインスタンス)という意味にも使ってますよね。そうする
> と上の文章は自分でもむちゃくちゃ冗長に感じられます(ダメじゃん)。

  こうですか?

>  引数が例外ではない場合、そのオブジェクトのexceptionメソッドが
>  返す値が実際に発生する例外になります。この値は例外でなければな
>  りません。

# なんか日本語としてヘンかも(^^;。

-- 
そうだ 強気に ちょっと インチキに☆彡
    中田 "Bugるくらいがちょうどいいかも;-)" 伸悦

In This Thread