フックを使用して、JournalArticleServiceImpl のメソッドaddArticle
とメソッドをオーバーライドしています。updateArticle
特定の ddmStructureKey を持つすべての記事と、現在の記事の特定のフィールドに一意の値があることを確認しています。
一意でないことがわかった場合、DuplicateEntryException 例外をスローしています。対応する catch メソッド内で、私はreturn null;
. しかし、それはNullPointerException
. 次に、次のように SystemException をスローしようとしました。
try {
// logic
} catch (DuplicateEntryException e) {
LOG.error("Value already present", e);
throw new SystemException("Value already present", e);
}
しかし、エンドユーザーの結果は次のようになりました。ログには実際のエラーが表示されますが、ユーザーはこのメッセージからバックグラウンドで何が起こったのかを正確に理解することはできません。
Hook からカスタム エラー メッセージをエンド ユーザーに表示する方法がわかりません。同じ記事を編集するために同じページに戻ることもできます。