0

我想为我的任何抛出未捕获异常的 java appengine servlet 提供状态 503 错误。目前他们抛出500。

有关原因的更多详细信息:我有一个客户端应用程序对我的 appengine 应用程序进行 ajax 调用。有时 appengine 本身(不是我的 servlet)会抛出 500 错误,因为 appengine 暂时出现了问题。当我的 servlet 代码中存在错误并引发未捕获的异常时,我的应用程序也会引发 500 个错误。我希望客户能够区分两者,因为对于前者它可以重试,而对于后者它不应该。因此,我希望抛出的异常导致状态代码不是 500。

我知道我可以在我的 servlet 中的 doGet 和 doPost 中放置一个 try catch,但是我有一堆 servlet,并且不想在每个 servlet 中都放置一个 try catch。这可以以某种方式配置吗?

4

2 回答 2

0

在这里找到了答案:GAE 如何查看生产异常?

基本上只是设置一个首先运行并捕获所有异常的过滤器。

于 2012-04-02T21:34:38.003 回答
0

GAE/J 基本上是一个 Jetty 服务器,您是否尝试按照如何在 Jetty 的文档页面创建自定义错误页面中的步骤进行操作?

作为思考的食物,我在我的应用程序中使用 JAX-RS,并且框架通过使用Exception Mappers非常容易拦截这样的异常。

于 2012-04-02T09:14:08.113 回答