R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

引数の順番の統一について

public ArgumentException(string message, string paramName);
public ArgumentOutOfRangeException(string paramName, string message);

message と paramName の順番が逆じゃねーか、ややこしいぜ。

まー

インテリセンス

があるからいいけどw

投稿日時 : 2008年10月6日 10:38

Feedback

# re: 引数の順番の統一について 2008/10/06 10:58 じゃんぬねっと

同じ Argument 系なのに... これはイヤだ。

# re: 引数の順番の統一について 2008/10/06 11:08 NAL-6295

あまり、意識したことなかったけど、あらためて見るとイヤな感じですね。

# re: 引数の順番の統一について 2008/10/06 11:57 なかむら

さらに ArgumentNullException は ArgumentOutOfRangeException と順番が同じなんですよね。
Argument 系では ArgumentException だけが異なってる。

神経質な私は「なぜ統一してないんだ!」と、使う度に思いますw

# re: 引数の順番の統一について 2008/10/06 12:26 T.Hirase

ArgumentExceptionは、引数の何に問題があったのかを説明していないから、
コンストラクタで説明(メッセージ)を追加してくれってことだと思いますが。
他の例外は、自明ですから。

というか、例外の原因になったパラメータ名を省略できないという仕様にしておけば、
メッセージは自然、2番目に来るのですけどね。

# re: 引数の順番の統一について 2008/10/06 12:41 THREE-ONE

http://blogs.wankuma.com/pinzolo/archive/2008/07/18/149571.aspx

ArgumentException から ArgumentOutOfRangeException にリファクタリングしたら、ログがへんな風になりました。
どっちも string だから、コンパイルエラー出ないんですよね。
こういう場合もあるので、やっぱり面倒です。

# re: 引数の順番の統一について 2008/10/07 10:30 R・田中一郎

じゃんぬねっと さん
NAL-6295 さん
なかむら さん

僕は、今まで使っていて気付かなかったくらいなので、今になって気づいてから「嫌だ」と主張する資格も無い訳ですけれどw
でも、統一化して欲しいなぁ。
できれば気付かずにいた方が幸せだったかも知れません。

------------------------------
T.Hirase さん

>というか、例外の原因になったパラメータ名を省略できないという仕様にしておけば、
>メッセージは自然、2番目に来るのですけどね。

ですね~
ArgumentException クラスの目的から見ても、パラメーター名は基本的に必須としても良い気がします。

------------------------------
THREE-ONE さん

>ArgumentException から ArgumentOutOfRangeException にリファクタリングしたら、ログがへんな風になりました。

実害が出てますね・・・
今のところ、気をつけるという以外に解決策はないのでしょうか・・・

# モンクレールダウン 新作 2012/11/08 3:38 http://moncler.katsu-ie.com/

はじめまして。突然のコメント。失礼しました。

タイトル
名前
Url
コメント