Issue #6639 has been reported by metanest (Makoto Kishimoto). ---------------------------------------- Feature #6639: ArgumentError から ArityError を分離 https://bugs.ruby-lang.org/issues/6639 Author: metanest (Makoto Kishimoto) Status: Open Priority: Low Assignee: Category: Target version: =begin ArgumentError と TypeError の違いがわかりにくい、という話がありました( #6423 )。 違いがわかりにくい原因として、メソッドやブロックの呼び出し時に、次のような感じで、 エラーの発生する場所が混在しているため、という理由が考えられます。 (1) 実引数の個数が正しいかをチェック → ダメなら ArgumentError (2) 実引数の型(期待するメソッドがあるか)をチェック → ダメなら TypeError (3) 実引数の値をチェック → ダメなら ArgumentError ArgumentError のサブクラスとして ArityError を作り (1) のエラーを ArityError に すれば、各エラーの意味が明確化するのではないかと思います。 =end
on 2012-06-24 10:04
on 2012-06-24 12:55
> =begin > ArgumentError $B$H(B TypeError $B$N0c$$$,$o$+$j$K$/$$!"$H$$$&OC$,$"$j$^$7$?!J(B #6423 $B!K!#(B > $B0c$$$,$o$+$j$K$/$$860x$H$7$F!"%a%=%C%I$d%V%m%C%/$N8F$S=P$7;~$K!"<!$N$h$&$J46$8$G!"(B > $B%(%i!<$NH/@8$9$k>l=j$,:.:_$7$F$$$k$?$a!"$H$$$&M}M3$,9M$($i$l$^$9!#(B > (1) $B<B0z?t$N8D?t$,@5$7$$$+$r%A%'%C%/(B $B"*(B $B%@%a$J$i(B ArgumentError > (2) $B<B0z?t$N7?!J4|BT$9$k%a%=%C%I$,$"$k$+!K$r%A%'%C%/(B $B"*(B $B%@%a$J$i(B TypeError > (3) $B<B0z?t$NCM$r%A%'%C%/(B $B"*(B $B%@%a$J$i(B ArgumentError > ArgumentError $B$N%5%V%/%i%9$H$7$F(B ArityError $B$r:n$j(B (1) $B$N%(%i!<$r(B ArityError $B$K(B > $B$9$l$P!"3F%(%i!<$N0UL#$,L@3N2=$9$k$N$G$O$J$$$+$H;W$$$^$9!#(B > =end ArityError$B$rF3F~$9$k;v<+BN$O!\#1!#$G$b(B(2)$B$K4X$7$F$b(BNameError$B$8$c$J$$M}M3$O$J$s$8$c$$!J7?$O%A%'%C%/$7$F$J$/$F%a%=%C%I$,$"$k$+$I$&$+$7$+8+$F$J$$>l9g$,$[$H$s$I!K$H$+(B(3)$B$K4X$7$F$O(BArgumentError$B$H(BRangeError$B$N0c$$$O$J$s$8$c$$$H$+?'!9$H5?Ld$,$"$j!"$3$3$@$1@Z$j=P$7$F5DO@$9$k$N$,E,@Z$J$N$+$d$d<+?.$,$J$$$H$3$m$G$O$"$j$^$9(B
on 2012-06-27 00:13
Issue #6639 has been updated by metanest (Makoto Kishimoto). File No6639.pdf added ---------------------------------------- Feature #6639: ArgumentError から ArityError を分離 https://bugs.ruby-lang.org/issues/6639#change-27501 Author: metanest (Makoto Kishimoto) Status: Open Priority: Low Assignee: Category: Target version: =begin ArgumentError と TypeError の違いがわかりにくい、という話がありました( #6423 )。 違いがわかりにくい原因として、メソッドやブロックの呼び出し時に、次のような感じで、 エラーの発生する場所が混在しているため、という理由が考えられます。 (1) 実引数の個数が正しいかをチェック → ダメなら ArgumentError (2) 実引数の型(期待するメソッドがあるか)をチェック → ダメなら TypeError (3) 実引数の値をチェック → ダメなら ArgumentError ArgumentError のサブクラスとして ArityError を作り (1) のエラーを ArityError に すれば、各エラーの意味が明確化するのではないかと思います。 =end
on 2012-07-01 03:49
Issue #6639 has been updated by mame (Yusuke Endoh). 資料受け取りました。 が、ext の開発者がどう嬉しいのか理解できず、タイムアウトになる予感がします。 -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Feature #6639: ArgumentError から ArityError を分離 https://bugs.ruby-lang.org/issues/6639#change-27643 Author: metanest (Makoto Kishimoto) Status: Open Priority: Low Assignee: Category: Target version: =begin ArgumentError と TypeError の違いがわかりにくい、という話がありました( #6423 )。 違いがわかりにくい原因として、メソッドやブロックの呼び出し時に、次のような感じで、 エラーの発生する場所が混在しているため、という理由が考えられます。 (1) 実引数の個数が正しいかをチェック → ダメなら ArgumentError (2) 実引数の型(期待するメソッドがあるか)をチェック → ダメなら TypeError (3) 実引数の値をチェック → ダメなら ArgumentError ArgumentError のサブクラスとして ArityError を作り (1) のエラーを ArityError に すれば、各エラーの意味が明確化するのではないかと思います。 =end
on 2012-07-23 15:55
Issue #6639 has been updated by mame (Yusuke Endoh). Status changed from Open to Rejected きしもとさん 7/21 の開発者会議にて、残念ながらこの機能は不採択と判定されました。 これを採択すると他にも細分化の要望が来るであろうことから、 Ruby として「例外を細分化する方針」をとるかどうかで議論が行われました。 しかしまつもとさんからその方針には「不安」があるとのことで、採択しない 方向となりました。 -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Feature #6639: ArgumentError から ArityError を分離 https://bugs.ruby-lang.org/issues/6639#change-28314 Author: metanest (Makoto Kishimoto) Status: Rejected Priority: Low Assignee: Category: Target version: =begin ArgumentError と TypeError の違いがわかりにくい、という話がありました( #6423 )。 違いがわかりにくい原因として、メソッドやブロックの呼び出し時に、次のような感じで、 エラーの発生する場所が混在しているため、という理由が考えられます。 (1) 実引数の個数が正しいかをチェック → ダメなら ArgumentError (2) 実引数の型(期待するメソッドがあるか)をチェック → ダメなら TypeError (3) 実引数の値をチェック → ダメなら ArgumentError ArgumentError のサブクラスとして ArityError を作り (1) のエラーを ArityError に すれば、各エラーの意味が明確化するのではないかと思います。 =end
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.