В вашем конфигурационном файле struts2 вы можете настроить глобальные исключения, такие как
<global-exception-mappings>
<exception-mapping exception="org.springframework.security.access.AccessDeniedException" result="securityerror" />
<exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>
<global-results>
<result name="securityerror">/securityerror.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
, который будет работать на уровне приложения, если вы обнаружите мелкозернистую обработку исключений, которую вы можете определить для самого уровня действия
<action name="actionspecificexception" class="org.apache.struts.register.action.Register" method="throwSecurityException">
<exception-mapping exception="org.springframework.security.access.AccessDeniedException"
result="login" />
<result>/register.jsp</result>
<result name="login">/login.jsp</result>
</action>
Так что от вашего выбора зависит, как вы хотите его настроить. Подробности см.
Обработка исключений в Struts2
Мое предложение состоит в том, чтобы не создавать все исключения как сырые, лучше создавать свои собственные оболочки исключений и заключать в них такие исключения, это поможет вам лучше организовать код
Надеюсь, это поможет вам.