最速怪談選手権

Java初心者です。とても基本的な質問、というか変な質問で恐縮です。あるアプリケーション開発用のソフトウェアが使っていて、これ上に文字列編集の機能を実装しています。要はただの関数なのですが、このソフト上ではJavaで書く必要があるので以下のように記述しました。UI画面上からユーザが入力した文字列が"ZenkakuNumber"という名前の変数でこのコードに渡されて来ます。それから、文字列を編集した後で最後に文字列を返します。ただそれだけの簡単な関数なのですが、上司のレビュー時にエラー処理(try and catch)があった方がいいのではないかと指摘を受けました。もちろん、コードにエラー処理があった方がいいのはわかるのですが、このようなコードの場合、どのようなエラー処理を記述すればよいのでしょうか。インプットとして文字列を受け、文字列を返すだけなので、ArrayIndexOutOfBoundsExceptionエラーもありえなければ、IOExceptionもありえないと思います。どのようなtry and catchを書けばいいのか、何かアイデアがございましたら教えて下さい。質問がまわりくどくなったのはパッケージを使っているので、完全にJava単体の質問とも異なる可能性があると思ったからです。

MyFunc
----------------------------------------------------
StringBuffer HankakuNumber = new StringBuffer();

for(int i=0; i<ZenkakuNumber.length(); i++) {
char c = ZenkakuNumber.charAt(i);
if(c >= '0' && c <= '9') {
HankakuNumber.append((char)(c - '0' + '0'));
} else {
HankakuNumber.append(c);
}
}

return HankakuNumber.toString();
----------------------------------------------------
↑このコードにエラー処理を加えたい

A 回答 (3件)

関数の仕様次第ですが、ZenkakuNumber の null


対策が必要かも。

それと try catch というのは

1) なんらかの問題(例外)の対処処理を書く。
2) 例外をより分かりやすい別の例外に付け替えるために書く。
3) 例外が起きたことを判り易くログに残したいために書く。

1)は場合によっては、2), 3) は普通例外を再生成して上位に例外が
起きたことを知らせます。

このあたりをどう書くかは普通コーディングの実装規約で有る程度
決めておいて、さらに個別の仕様に基づいて判断して実装します。

示されたコードだけでは判断できません。
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2011/08/11 17:55

変数名は小文字からはじめましょう。


キャストと変数(計算含)の間は半角スペースを空けましょう。

このソースの範囲だけならば、必要ないという回答と理由をもとめていたんでしょうね。
    • good
    • 0
この回答へのお礼

参考になりました。有難うございました。

お礼日時:2011/08/11 17:55

そもそもその上司の方は


ところで、あなたには同僚がいないのかしら?
いないのなら仕方ないけど
いるのならここで聞くより先にそちらに聞いたほうが
ある○○といった表現に置き換える必要もないし
その上司の意見も汲み取りやすいだろうし
回答得られやすいと思うわよ。

ついでだけど
・Javaの変数名は一般的には小文字で書き始めるし
・StringBufferよりはStringBuilderの方が効率がいいし(JDK1.5以降に限る)
・for~charAtもforeachをつかって1行にする方が効率いいし(JDK1.5以降に限る)
と言ったことがあるのだけどその点に対しての指摘はなかったのかしら?
それともそのソフトを作るうえでの規約では正しいのかしら?
ちょっと気になったので追記。

閑話休題

このコード内に何か例外処理を書け
と上司の方は言ったのかしら?
先に挙げたような指摘をしていないのなら
もしかしたらなんとなく
エラー処理があったほうがいいんじゃない?
程度の気持ちで言っただけかもしれないわよ。

例外が発生しないのなら
「発生しません」
でいいと思うけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!