1. ホーム
  2. java

[解決済み] Exception getCause()をループして、詳細なメッセージとともに根本原因を見つけるにはどうしたらよいですか[重複]?

2023-05-24 15:54:33

質問

を呼び出そうとしています。 saveOrUpdate() を呼び出して、データを保存しようとしています。カラムはユニークなインデックスを持っているので、そのスロー ConstraintViolationException を投げる。

テーブルへのデータ挿入時の例外によって根本的な原因が異なる可能性があるため。

私は知りたいと思った、どのように私はループ/トラバースを介して getCause() をループ/トラバースして、例外とそのメッセージの根本原因が何であるかをチェックする方法を知りたいと思いました。

更新します。

皆さん、親切な回答ありがとうございます。私は以下の画像のような出力が欲しいのです。



にアクセスする必要があります。 詳細メッセージ フィールドにアクセスする必要があります。

(私の質問をもっと明確にすることができなかった場合、私は本当に申し訳ありません。)

ありがとうございます。

どのように解決するのですか?

Apache の ExceptionUtils は以下のメソッドを提供します。

Throwable getRootCause(Throwable throwable) 

だけでなく

String getRootCauseMessage(Throwable th)