[#2023] Class Method の index — (Dezawa Shin-ichiro) <dezawa@...>

出沢です

13 messages 1997/02/02

[#2158] [Req] pack/unpack — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

14 messages 1997/02/18
[#2166] Re: [Req] pack/unpack — matz@... (Yukihiro Matsumoto) 1997/02/18

まつもと ゆきひろです.

[#2277] ruby 1.0-970228 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

16 messages 1997/02/28

[ruby-list:2259] [BUG]Thread#fail (Re: bug? fail )

From: sinara@...
Date: 1997-02-25 11:47:48 UTC
List: ruby-list #2259
原です。

> raise 文字列
> raise 例外
> raise 例外, 文字列
> raise 例外クラス, 文字列

この仕様は ruby の中で最も複雑なものの一つですね。というか
それだけ多くの機能が込められているわけだけど。


ところで、Thread#raise ですが、まず

-----^ test1.rb
#!/usr/local/bin/ruby
x = Thread.start {sleep}
x.raise
-----$ test1.rb

で、

./test1.rb:3:in `raise': Wrong # of arguments (0 for 1)
        from ./test.rb:3

となって、仕様が関数の raise とくい違っています。次に、

-----^ test2.rb
#!/usr/local/bin/ruby
x = Thread.start {}
x.raise "test"
-----$ test2.rb

の様に死んだスレッドに raise すると、処理が返ってこなくな
ります。更に、カレントスレッドに raise すると、

-----^ test3.rb
#!/usr/local/bin/ruby
x = Thread.current
x.raise "test"
-----$ test3.rb

./test3.rb:3: [BUG] unsaved context
IOT trap/Abort

ということになります。


あと、例の timeout イテレータですが、TimeoutError を該当
スレッドで捕捉できないことがたまにあって、、、これは調査
中です。

In This Thread