在struts xml中声明/处理哪些exception

Java中有CheckedUnchecked exceptions

由于我是Struts2新手,因此我对处理已checked exception有一个愚蠢的怀疑。 我们编写try catch block来处理已checked exceptions 。 因此,我们可以在catch block编写return语句并return view显示Exception / Error的页面return view名称。

如果我抛出在struts.xml文件中声明的checked exception并且结果是重定向到Error / Exception页面怎么办?

这两种方法都是检查exception的正确方法吗?

应该捕获应用程序级exception。 如果你抛出一个应用程序级exception并且没有捕获它,那么如果它被配置为动作,它可能被exception拦截器捕获。 注意,exception拦截器位于defaultStack底部,它不仅可以捕获动作中的exception,还可以捕获整个拦截器堆栈中的exception。 如果您将此拦截器配置为映射它应该处理的exception,并在它之后返回结果(也应该配置为全局结果),那么将捕获您的exception并返回结果。 如果没有,Web容器将处理exception。 正确的方法是捕获exception并返回错误结果,但如果你不能这样做,那么你应该配置exception拦截器。 注意,代码中发生的struts容器exception不是由exception拦截器处理的。 在这种情况下,您应该捕获exception并将操作的状态设置为error,然后您可以在操作执行中首先检查该状态以返回错误结果或抛出可能由代码中的exception拦截器捕获的exception你无法返回错误结果的地方。 有关exception配置的更多信息,请参阅文档。

答案完全取决于手中的应用要求。

例如,我编写了一个API,因此对于所有exception,必须返回相同的页面。 我的代码中有类似下面的内容:

   errorProcessor /