try~catchで正常系の処理は悪? – プログラミング – Home

try~catchで正常系の処理は悪?
 
通知
すべてクリア

[解決済] try~catchで正常系の処理は悪?


JAWA
 JAWA
(@JAWA)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

お初の書き込みになります。JAWAです。

いきなりですが、try~catchのcatchで、正常系の処理を行うのは
あまり良くないといわれたんですがそんなものでしょうか?

tyr {
Integer.parse(文字);
} catch (NumberFormatException e) {
  行いたい処理
}

return; 文字が数字のときは何もしない。

のようなことを行っています。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 22年前
投稿: 1421
 

> あまり良くないといわれたんですがそんなものでしょうか?

はい、あまり良くありません。
理由は、例外的な事態の処理を記述するための構文だから
としか言いようがないですけど。

特に多人数で開発する場合は、常識外のことをすると
勘違いの元になりますから、避けたほうが良いでしょう。

そうは言っても、数字でないことを判定する簡易なAPIがないので、
せめて、こうとか。

try {
Integer.parse(文字);
return; // 数字ならなにもしない
} catch (NumberFormatException e) {}

数字以外の場合の処理

これも許さん!という人がいたら、
NumberFormat.parse() の例外を投げない版を使いましょう。

#自力で文字列解析するメソッドを自作するのはもっと悪


返信引用
JAWA
 JAWA
(@JAWA)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

処理がどうこうというより、自分のソースを見る人に、
余計な勘違いを与えてしまうというようなところから悪なんですね。

>try {
> Integer.parse(文字);
> return; // 数字ならなにもしない
>} catch (NumberFormatException e) {}
上記で、いこうと思います。

dairygoodsさん、ありがとうございます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました