From: nobu.nakada@... Date: 2000-05-25T10:17:11+09:00 Subject: [ruby-dev:9821] Re: rescue variable syntax なかだです。 At Thu, 25 May 2000 01:00:51 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) wrote: > |rescue RuntimeError1, RuntimeError2 の場合で考えました。 > | > | rescue RuntimeError1, RuntimeError2, var > | rescue RuntimeError1, RuntimeError2 do |var| > | > |スコープが名前によるなら前者、[ensure ; ] end までなら後者かなと思います。 > > 前者は、例外クラスを省略する記法 > > rescue var > > や逆に例外変数を省略する記法 > > rescue StandardError, ScriptError > > を適切に解釈できそうにないです。スコープを導入する予定はない > ので、後者は使えませんね。 複数の例外を指定したときはどうなるんでしょう。例えば (1) rescue StandardError, ScriptError => err (2) rescue StandardError => stderr, ScriptError => screrr (1) は err.is_a? StandardError or err.is_a? ScriptError で (2) は Syntax エラー? それとも StandardError を得るには (2) のように書かなけ ればいけない? それぞれの例外に変数を対応させられるのなら Hash からの連 想で => に一票。 # rescue [exception [ => var]],... [ : var] # とか。ややこしすぎ? -- そうだ 強気に ちょっと インチキに☆彡 中田 "Bugるくらいがちょうどいいかも;-)" 伸悦