Exceptionの検索結果 74 件
NoSuchBeanDefinitionExceptionの対処法|@Serviceがあるのに見つからないとき
必要なクラスに@Serviceを付けたのに、Springが「Beanが見つからない」と言う。設定ファイルもプロジェクトにある。何が足りないのか分からず、アノテーションを追加して回っていないでしょうか。 この記事は、特にXML設定とアノテーションが混ざるアプリを保守する人向けです。定義があることと、今使っているコンテナへ登録されていることは別として確認します。 要求された型 → 登録方法 → 設定を読み込む入口、の順にたどる。候補0件なら登録と読み込みを調べます。複数件から選べないなら、登録を増やすのではな ...
JavaのOptional.of(null)でNullPointerExceptionになる原因|ofNullableとの違い
AIによる要約Optional.ofはnullではない値だけを受け取り、nullを渡すと生成時点でNullPointerExceptionになります。後ろにorElseを書いていても到達しません。nullを「値なし」として扱う仕様ならOptional.ofNullableを使うと、nullはOptional.emptyへ変換されます。ただし、必須値の欠落までofNullableで隠すのは危険です。ofとofNullableはNPEを避けるために機械的に選ぶのではなく、その値にnullを許可する契約かどうか ...
JavaでConcurrentModificationExceptionになる原因|Listをループ中に削除する方法
AIによる要約ConcurrentModificationExceptionは、コレクションをIteratorで走査している途中に、そのIteratorが想定しない方法で要素の追加や削除が行われたときに発生する代表的な実行時例外です。名前にConcurrentとありますが、複数スレッドがなくても、拡張for文の中でList.removeを呼ぶだけで発生します。条件に合う要素を一括削除するならremoveIf、走査しながら現在要素を削除するならIterator.remove、元データを残して絞り込み結果を作 ...
JavaでClassCastExceptionになる原因|型変換で確認すべきポイント
AIによる要約ClassCastExceptionは、実際のオブジェクトが変換先の型ではないのにキャストした場合に発生します。変数の宣言型がObjectでも、実体の型は変わりません。instanceofで分岐する方法はありますが、キャストが多い設計ではジェネリクス、専用DTO、型付きAPIへ見直します。raw ListやMap、外部ライブラリの戻り値は特に実行時まで誤りを検出できないため、入力境界で検証します。 Object、Map、古いraw List、外部ライブラリの汎用戻り値を扱うと、キャストが必要 ...
Optional.getでNoSuchElementExceptionになる原因|安全な値の取り出し方
AIによる要約Optional.getは値が存在するときだけ使え、emptyならNoSuchElementExceptionです。直前にisPresentを確認すれば動きますが、値の取り出しと分岐が離れると読みづらくなります。必須ならorElseThrowで業務例外へ、既定値ならorElse・orElseGet、変換ならmap、存在時だけ処理するならifPresentを使います。Optionalを使っても、0件を正常・404・業務エラーのどれにするかは仕様として決める必要があります。 Optionalは値 ...
JavaでIndexOutOfBoundsExceptionになる原因|Listと配列の確認ポイント
AIによる要約Listや配列の有効な添字は0から要素数-1までです。sizeやlengthと同じ値を指定すると範囲外になります。固定位置のget、空リストの先頭取得、ループ条件の
LocalDate.parseでDateTimeParseExceptionになる原因|日付形式の指定方法
AIによる要約LocalDate.parse(text)は標準でISO形式のyyyy-MM-ddを期待します。2026/08/14や20260814を解析するにはDateTimeFormatterを指定します。形式が合っていても2月30日など存在しない日付はDateTimeParseExceptionです。表示用と入力用のフォーマッター、暦年のuuuuと年のyyyy、厳密な解析、空入力の扱いを分け、外部インターフェースごとに契約を固定します。 画面、CSV、外部APIでは日付の表記が異なります。Javaの ...
JavaのBooleanでNullPointerExceptionになる理由|自動アンボクシングの注意
AIによる要約Booleanはtrue・falseに加えてnullを持てます。if(flag)やboolean変数への代入ではBooleanからbooleanへの自動アンボクシングが行われ、flagがnullだとNullPointerExceptionになります。trueだけを判定するならBoolean.TRUE.equals(flag)、必ず二値なら最初からbooleanを使います。nullを『未設定』『未回答』『対象外』として使うなら、三値の意味を明示し、既定値で潰してよいか確認します。 boolea ...
JavaでNumberFormatExceptionになる原因|空文字・カンマ・全角数字の対処
AIによる要約NumberFormatExceptionは、文字列が対象の数値型として解釈できない場合に発生します。空文字、空白、3桁カンマ、全角数字、小数点、単位付き、int範囲外など原因は複数です。例外をcatchして0へ変換すると未入力や不正値を隠します。入力仕様を決め、文字列段階の形式チェック、必要な正規化、適切な数値型への変換、利用者向けエラーの返却を境界で行います。 画面入力、CSV、環境変数、外部APIは、数値に見えるデータも最初は文字列です。Integer.parseIntへ渡すだけで変換 ...
BigDecimal.divideでArithmeticExceptionになる原因|割り切れない計算の丸め方
AIによる要約BigDecimalのdivideは、結果を正確に有限小数で表せない場合、丸め指定なしではArithmeticExceptionを投げます。1÷3のような計算では、業務仕様に基づいてscaleとRoundingModeを明示します。例外を避けるため適当に丸めるのではなく、金額、税率、表示値、DB保存値のどの段階で何桁にするかを決めることが重要です。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、Xの元ポストを開くことができます。 金額、単価、税率、進捗率などを ...









