![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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で質問しましょう!
似たような質問が見つかりました
- Java すみません。助けてください。 javaについての質問です。 integerに変換できない数値をエラー 5 2022/05/18 19:16
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) Activesheet.Pasteで困っています 1 2023/01/22 07:41
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Java Javaについて質問です。 勉強し始めたばかりの初心者です。 相続税について課税額を算出するコードを 1 2022/05/31 19:02
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VBA Evaluate関数 型が一致しま...
-
VB.Net Object型 空かどうか
-
【JAVA】与えられた金額を貨幣...
-
Bean→JSPでの文字化け
-
文字列からダブルクオートの削除
-
C# UriFormatExceptionの回避
-
Excelでのエラー
-
C#で例外が発生したとき、例外...
-
スタックオーバーフローとは?
-
サーブレットからIMGタグへ画像...
-
Timestamp型への変換について(J...
-
0除算の例外処理ができない!!...
-
VB.NETで16進数が正しいかどう...
-
java, c# 追加失敗時の処理
-
SQLException getNextException()
-
C#の捕捉されない例外処理の対...
-
タトゥーや墨を入れる人の共通点
-
エクセルVBAで、条件に一致する...
-
変数名の付け方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VB.Net Object型 空かどうか
-
Timestamp型への変換について(J...
-
連続する「\\」をひとつの「\\...
-
VB.NETで16進数が正しいかどう...
-
全角スペースのチェックについて
-
C# マルチスレッドにおける例外...
-
文字列からダブルクオートの削除
-
VBA Evaluate関数 型が一致しま...
-
例外ってIf文の中に入れますか...
-
C#の捕捉されない例外処理の対...
-
時間の取得
-
【JAVA】与えられた金額を貨幣...
-
nullで、return出来るのはどん...
-
String型の日付(2005/11/25)の...
-
サーブレットからJSPの呼び出し...
-
0除算の例外処理ができない!!...
-
VBA 400エラー 1004エラー
-
文字列が数字のみで構成されて...
-
数字か文字列かを判定する関数
おすすめ情報