Forum: Ruby-dev [ruby-trunk - Feature #6639][Open] ArgumentError から ArityError を分離

C4e88907313843cf07f6d85ba8162120?d=identicon&s=25 metanest (Makoto Kishimoto) (Guest)
on 2012-06-24 10:04
(Received via mailing list)
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
02da662c083396641da96c1d32fc86ed?d=identicon&s=25 KOSAKI Motohiro (Guest)
on 2012-06-24 12:55
(Received via mailing list)
> =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
C4e88907313843cf07f6d85ba8162120?d=identicon&s=25 metanest (Makoto Kishimoto) (Guest)
on 2012-06-27 00:13
(Received via mailing list)
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
F24ff61beb80aa5f13371aa22a35619c?d=identicon&s=25 mame (Yusuke Endoh) (Guest)
on 2012-07-01 03:49
(Received via mailing list)
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
F24ff61beb80aa5f13371aa22a35619c?d=identicon&s=25 mame (Yusuke Endoh) (Guest)
on 2012-07-23 15:55
(Received via mailing list)
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
This topic is locked and can not be replied to.