に親を取得しています:私は@ExceptionHandlerを持つ親クラスとそれ自身のバージョンを持つサブクラスを持っています。私はあいまいなメソッドエラー
@ExceptionHandler(NoUserException.class)
protected ModelAndView handleException(NoUserException e) {
Map<String, Object> model = new HashMap<String, Object>();
model.put(ModelKeys.HOST_KEY, "message");
return new ModelAndView("noAccess",model);
}
子:
@ExceptionHandler(NoUserException.class)
protected void handleException(NoUserException e, HttpServletRequest request, HttpServletResponse response) throws IOException {
logger.error("Invalid user.");
respond(CLIENT_USER_ERROR,response);
}
はい、私は異なるパラメータと出力を持っているためにそれらが必要です。
どういう意味ですか?それは親クラスのいくつかのコードです...それは単なる新しいNoUserException()を投げるのです –
それはisntですか?私はそれを実行するときに起こっている。どの方法を使うかは決めることができません。 –
おそらく2つの '@ ExceptionHandler'が定義されているので、1つはスーパークラスから継承され、新しいものはサブクラスで定義されます。それを上書きする方法がわからない場合、メソッドに同じシグネチャがないため、自動的には発生しません。 – purtip31