[#19457] equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org>

ふと気がついたのですが、

39 messages 2003/02/02
[#19460] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/03

まつもと ゆきひろです

[#19473] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044245817.592933.31973.nullmailer@picachu.netlab.jp>,

[#19474] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19475] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044329220.257740.28127.nullmailer@picachu.netlab.jp>,

[#19476] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19477] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044331431.138035.28173.nullmailer@picachu.netlab.jp>,

[#19478] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19479] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044332948.099873.28206.nullmailer@picachu.netlab.jp>,

[#19482] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19486] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044338964.502066.28474.nullmailer@picachu.netlab.jp>,

[#19491] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19493] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19556] compare between String and Exception — Tanaka Akira <akr@...17n.org> 2003/02/12

さらに気が付いたのですが、

[#19514] [Oniguruma] Version 1.7.1 — "K.Kosako" <kosako@...>

ftp.ruby-lang.orgに、onigd20030207.tar.gzを置きました。

19 messages 2003/02/07

[#19548] [PATCH] file.c for (PR#389) and (PR#390) — nobu.nakada@...

なかだです。

20 messages 2003/02/11
[#19572] Re: [PATCH] file.c for (PR#389) and (PR#390) — pegacorn@... 2003/02/14

From: nobu.nakada@nifty.ne.jp

[#19648] Re: SEGV at search_method in eval.c (PR#400) — nobu.nakada@...

なかだです。

13 messages 2003/02/24

[ruby-dev:19589] Errno::EWOULDBLOCK is EAGAIN?

From: Koji Arai <JCA02266@...>
Date: 2003-02-16 18:58:58 UTC
List: ruby-dev #19589
新井です。

p Errno::EWOULDBLOCK
p Errno::EAGAIN

=> ruby 1.6.8 (2003-02-13) [i586-linux]
   Errno::EAGAIN
   Errno::EAGAIN

=> ruby 1.8.0 (2003-02-16) [i586-linux]
   Errno::EAGAIN
   Errno::EAGAIN

となるのは意図的な仕様変更でしょうか?というのも、
EWOULDBLOCK.eql?(EAGAIN) -> true とならないために 1.7 では、
SystemCallError#=== が定義され、rescue は、=== で例外の一致
判定を行うようになったという経緯があったと思ったからです。

http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.7+feature

| rescue 節の例外クラスと発生した例外オブジェクトの比較
|
|     発生した例外 $! と rescue 節の例外クラスとは 
|     Module#=== を使って比較するようになりました。
|    
|     以前は kind_of? による比較なので基本的な動作に変わりは
|     ありませんが、SystemCallError.=== は特別に errno が一
|     致する例外を同じと見なすように再定義されました。これに
|     より、例えば Errno::EWOULDBLOCK と Errno::EAGAIN が同
|     じ意味(同じerrno)の場合にどちらを指定しても rescue で
|     きるようになりました。

--
新井康司 (Koji Arai)

In This Thread

Prev Next