GJAX IS UNDER CONSTRUCTION! (※日本語ブログ)

Please wait a minute for GJAX/2008

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  171  : 記事  0  : コメント  757  : トラックバック  50

ニュース

今後のスケジュールについて

予定なし

インフォメーション

わんくま同盟メンバ ブログ トップ

ブログタイトル(July 2007~)
GSP.NET GJAX!
【読み方:じーえすぴーどっとねっと/じーじゃっくす】
【サブ:~ A C# programmer dives into ASP.NET! ~】

ASP.NET AJAXと違って、GSP.NET [ghost_shell's (web) pages & .NET]の部分が正式名称、GJAX!の部分が省略形・俗語となっています。

過去のブログタイトル
【表記:ウェブ100】
【読み方:うぇっぶいちまるまる】
【サブ:.Net & Webに てん ぜろ】

書庫

日記カテゴリ

インスパイア元: 業務上起こりえない判定ルーチンを書くのは冗長?

「例外」の題材と言えば「ゼロ除算」だけど、DividByZeroExceptionをスローするのはナンセンスだと思うのだが?
補足1: 例外の型を変える場合は、ゼロか判定してスローする、DivideByZeroExceptionをキャッチしてスローする、2通りありますがどちらでもいいです。
補足2: 整数型で考えてください。(浮動小数点型で割る場合は非ゼロでも発生する場合がありますが、統一するため考えないでください。)

投稿日時 : 2008年1月31日 12:30

コメント

# re: ゼロ除算でDividByZeroExceptionって要る? 2008/01/31 13:34 taka
それはつまりフレームワーク側で例外にしないでくれってところですか?

それとも他の例外でよくね?って意味ですか?

ならばInvalidOperationExceptionあたりかなぁ、
僕の思う妥当なところは。


# re: ゼロ除算でDividByZeroExceptionって要る? 2008/01/31 13:44 ghost_shell
taka さん

>それはつまりフレームワーク側で例外にしないでくれってところですか?
>
>それとも他の例外でよくね?って意味ですか?

わかりにくかったですか。
両方とも違います。

フレームワーク側でやってくれることをするのはおかしくね?という意味です。

# re: ゼロ除算でDividByZeroExceptionって要る? 2008/01/31 13:57 凪瀬
えっと、

if (a == 0) {
throw new 、DividByZeroException();
}

としなくとも、

return b / a;

として、実行時にaが0ならフレームワーク(今の場合はCLIかな?)が
throwするからいちいち0チェックいらないんじゃん?という話題でいいんですかね。

「DividByZeroExceptionをスローするのはナンセンスだと思う」だけだと
ゼロ割りの際に例外が投げられること自体がナンセンスと言っているように読めるなぁ。

# re: ゼロ除算でDividByZeroExceptionって要る? 2008/01/31 14:07 えムナウ
使う人にコーディングミスや時用条件のミスを教えてやるには便利ですよ。
ArgumentOutOfRangeException の方がいいと思いますけどね。

# re: ゼロ除算でDividByZeroExceptionって要る? 2008/01/31 14:14 THREE-ONE
ただ割るだけならそうかもしれませんけど、分子をコネコネしてから割るんだったら早々に例外投げてもいいと思います。どうせダメなんだし。
0渡すんじゃねーよってのが強調されますし。
私が実装するとしたら、どうするかわかりません。
public なライブラリ用メソッドなら投げて、ドキュメントコメントに exception 要素で説明書くと思います。
private なら、多分投げません。
なので、投げる「なら」と書いた次第であります。ハイ。

# re: ゼロ除算でDividByZeroExceptionって要る? 2008/01/31 14:27 凪瀬
私の場合は、クラスのキャスト例外、Nullポインタといった例外は実行環境が
検出してthrowされる状況下なら、throwさせるがままにすることが多いですね。

ただし、大きなバリデーション処理などの場合は、ソース修正が入ったりした際に、
本来throwさせたい例外と違う例外がthrowされるように改変されるといやなので、
冒頭で明示的に検出してthrowするように書くことがあります。

でければ、コメントなどで、異常データがきたときにここで例外が発生して
throwされるように考えてこの順序で処理してんだ、直すときは気をつけろ、
という旨を書いておかないと、後でバグを盛り込まれる可能性がありますね。

# re: ゼロ除算でDividByZeroExceptionって要る? 2008/02/01 12:06 ghost_shell
ピンと来なくてもインスパイア元を見てくれれば、わかる人にはわかって頂けると思いましたが、
この文章だけでは別の意味に捉えられてしまっても仕方ないですね。

文字数増えても一言、二言補足すべきでした。



# ヤフオク ロレックス エクスプローラー 2022/09/16 5:46 mraezu@ocn.ne.jp
早くに対応していただいてありがとうございます。
きれいなバッグでうれしいです。
【送料無料】オロップ 2WAYバッグをセール価格で販売中♪オロップ 2WAYバッグ ブラック クロコダイル 新品 ガマ口 クラッチバッグ ショルダーストラップ OLOP
とてもきれいなバッグでした。金具がじゃましてスマホがケースなしで押し込めないと入らないことだけが残念です。きれいなのでこれから使っていきたいと思います。
ヤフオク ロレックス エクスプローラー https://www.gmt78.com/article/ems/detail/1855.htm

Post Feedback

タイトル
名前
Url:
コメント: