以下のソースで、
NullPointerExceptionが出ます。
(202行目)
解決策がわかりません涙
どなたかわかる方いらっしゃいませんか?
https://pastebin.com/UV9TN4Sh
No.5ベストアンサー
- 回答日時:
> 710行目(
https://pastebin.com/UV9TN4Sh> )の
> wrkPassDto.setCheckResult(checkResult);
>
> ここに着目してみろと言われたのですが、ここからなにがわかりますか?
教えてくれる人がいるなら直接聞いたらいかがですか?
ここからなにがわかるかって、それをちゃんと自分で考えるように促されたのではないのですか?
特定の1クラスだけ見せられて、業務の仕組みも何がしたいかも分からない赤の他人に聞くことじゃありませんね。
710行目はInsertWorkData()内で、データ登録用のメソッドですよね。
私が見せられたロジックだけ見たら、今回発生している箇所との関係性はありません。
教えてくれてる人が言っているのは、こういうこと言ってるんじゃないんですか?
・登録(InsertWorkData())でcheckResultには必ず数字が入ってDB登録されなければならない仕様。
・よって、検索(handleSearch())でcheckResultを得た時、nullになりえない。
・としたら、登録(InsertWorkData())でcheckResultがnullで登録されていることがおかしい。
登録(InsertWorkData())の呼出元に問題があるのではないか。
まあ仮にそうだとしたら、DB設計上、Not NULL制約がないのもどうかと思いますし、その時に問題視していたのは、202行目で例外になることではなく、登録処理の単体テスト的に、checkResult項目の結果がNG出してる、ということ。
仕事でやってて、教えてくれる人がいるのならば、こんなとこで質問してないで、ちゃんと自分で考えて、考えた結果をその方に質問してを繰り返して、社内で消化しましょうね。
No.4
- 回答日時:
> 自前というか、、、他人が作ったソースに機能修正を加える作業をしていて、その過程でエラーが
> 発生してしまいました。
それを自前と言います。
あなたが作ったか、他人が作ったかはどうでもいい話です。
利用しているフレームワークやライブラリの仕様ではないということです。
> https://pastebin.com/4N6Why0G
> こちらのDtoクラスに設定されています。
ご自分でデバッグ、トレースしたんですか?
本当にそこが問題となっているということを突き止めましたか?
getCheckResult()の戻り値はintではなくIntegerクラスですね。
クラスなんだったら、getKenshiAge()(177行目)の呼出の時と同様、それがnullではないという検証が必要ではありませんか?
インスタンス変数のcheckResultを初期化して、かならずnullではない、というコードが実現されているわけでもなさそうだし。
>それを自前と言います。
失礼いたしました(..)
710行目(https://pastebin.com/UV9TN4Sh
)の
wrkPassDto.setCheckResult(checkResult);
ここに着目してみろと言われたのですが、ここからなにがわかりますか?
No.3
- 回答日時:
> getCheckResult()の部分がNullになっているようなのですが、なぜなのかわからなくて。
。。明らかに自前のDTOクラスに自前でコードしたメソッドですよね。
追いかければnullになる原因は分かると思いますが。
仮にgetCheckResult()に問題があるとしたら、getCheckResult()の中身を見なければ解決なんてしませんよ。
dto.getWrkPassDto()によって得られるオブジェクトのクラスから、getCheckResult()メソッドを見つけ出してトレースしてみてはいかがですか。
getCheckResult()の結果がnullになっても、比較式がif (null != 0) となるだけで、例外は発生しないように感じますが。
NullPointerException自体、オブジェクトを操作しようとした際、オブジェクトがnullの時に発生するわけですからね。
自前というか、、、他人が作ったソースに機能修正を加える作業をしていて、その過程でエラーが発生してしまいました。
>getCheckResult()の中身を見なければ解決なんてしませんよ。
https://pastebin.com/4N6Why0G
こちらのDtoクラスに設定されています。
No.1
- 回答日時:
dto変数もしくはgetWrkPassDto()で得た結果がnull、もしくはgetCheckResult内の処理のどこかでnull例外が発生しているのでは。
素直にトレースすればいいかと思いますし、例外をキャッチしてスタックトレースを確認してみてはいかがですか。
(どの場面においても例外をキャッチしているようには見受けられませんが、システムとしていいんですか?)
回答ありがとうございます。
getCheckResult()がNullになっているようなのですが、、
なぜか分からないうえ、プログラミングの知識がまだまだ浅いもので、どうトレース?すればよいのやらも。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VBA Evaluate関数 型が一致しま...
-
文字列からダブルクオートの削除
-
VB.Net Object型 空かどうか
-
Timestamp型への変換について(J...
-
時間の取得
-
String型の日付(2005/11/25)の...
-
例外ってIf文の中に入れますか...
-
XMLパーサの種類について混乱し...
-
タトゥーや墨を入れる人の共通点
-
Excelでのエラー
-
javaプログラムで背景色を変更...
-
サーブレットとJSPの連携
-
【JAVA】与えられた金額を貨幣...
-
Vistaでアプレットを終了するとき
-
エクセルVBAで、条件に一致する...
-
インスタンス参照でアクセスで...
-
パワーポイントのVBAでテキスト...
-
変数名の付け方
-
複数の変数を宣言する時、同時...
マンスリーランキングこのカテゴリの人気マンスリー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エラー
-
全角スペースのチェックについて
おすすめ情報
コンソールに出てたエラーです。
https://pastebin.com/zjc829mW
202行目は、getCheckResult()
がNullになっているようです。。。。