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();
----------------------------------------------------
↑このコードにエラー処理を加えたい
No.3ベストアンサー
- 回答日時:
関数の仕様次第ですが、ZenkakuNumber の null
対策が必要かも。
それと try catch というのは
1) なんらかの問題(例外)の対処処理を書く。
2) 例外をより分かりやすい別の例外に付け替えるために書く。
3) 例外が起きたことを判り易くログに残したいために書く。
1)は場合によっては、2), 3) は普通例外を再生成して上位に例外が
起きたことを知らせます。
このあたりをどう書くかは普通コーディングの実装規約で有る程度
決めておいて、さらに個別の仕様に基づいて判断して実装します。
示されたコードだけでは判断できません。
No.2
- 回答日時:
変数名は小文字からはじめましょう。
キャストと変数(計算含)の間は半角スペースを空けましょう。
このソースの範囲だけならば、必要ないという回答と理由をもとめていたんでしょうね。
No.1
- 回答日時:
そもそもその上司の方は
ところで、あなたには同僚がいないのかしら?
いないのなら仕方ないけど
いるのならここで聞くより先にそちらに聞いたほうが
ある○○といった表現に置き換える必要もないし
その上司の意見も汲み取りやすいだろうし
回答得られやすいと思うわよ。
ついでだけど
・Javaの変数名は一般的には小文字で書き始めるし
・StringBufferよりはStringBuilderの方が効率がいいし(JDK1.5以降に限る)
・for~charAtもforeachをつかって1行にする方が効率いいし(JDK1.5以降に限る)
と言ったことがあるのだけどその点に対しての指摘はなかったのかしら?
それともそのソフトを作るうえでの規約では正しいのかしら?
ちょっと気になったので追記。
閑話休題
このコード内に何か例外処理を書け
と上司の方は言ったのかしら?
先に挙げたような指摘をしていないのなら
もしかしたらなんとなく
エラー処理があったほうがいいんじゃない?
程度の気持ちで言っただけかもしれないわよ。
例外が発生しないのなら
「発生しません」
でいいと思うけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
文字列からダブルクオートの削除
-
VBA Evaluate関数 型が一致しま...
-
【JAVA】与えられた金額を貨幣...
-
C# マルチスレッドにおける例外...
-
String型の日付(2005/11/25)の...
-
アサーションと例外処理の違い...
-
VB.Net Object型 空かどうか
-
C# UriFormatExceptionの回避
-
例外ってIf文の中に入れますか...
-
Excelでのエラー
-
タトゥーや墨を入れる人の共通点
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
-
パワーポイントのVBAでテキスト...
-
エクセルVBAで、条件に一致する...
-
エクセルVBA 画像を貼り付ける...
-
VB.NETでフォーム上にExcelのよ...
-
変数名の付け方
-
インスタンス参照でアクセスで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
連続する「\\」をひとつの「\\...
-
VB.NETで16進数が正しいかどう...
-
ファイルダイアログを開いた時...
-
VB.Net Object型 空かどうか
-
Timestamp型への変換について(J...
-
C#の捕捉されない例外処理の対...
-
【JAVA】与えられた金額を貨幣...
-
文字列からダブルクオートの削除
-
VBA Evaluate関数 型が一致しま...
-
nullで、return出来るのはどん...
-
String型の日付(2005/11/25)の...
-
Excelでのエラー
-
0除算の例外処理ができない!!...
-
C# マルチスレッドにおける例外...
-
javaプログラムで背景色を変更...
-
時間の取得
-
WebClient()以外でネットにアク...
-
VBA 400エラー 1004エラー
-
全角スペースのチェックについて
おすすめ情報