java - App Engine 异常,如何在 Android 中捕获

标签 java android google-app-engine

我正在尝试将 App Engine 与 Google Endpoints 结合使用,但我看到了一个奇怪的行为。如果我通过以下方式抛出异常:

throw new Exception("MyException");

然后,如果我在负责与 Endpoint 连接的 AsyncTask 中的 android 端捕获它,我根本无法从中获取消息。如果我调用 e.getMessage() 我得到类似的东西:

503 Service Unavailable
[ code: "503",
...
message: "MyException"
]

有点奇怪。有人遇到过这种行为吗?如何在 App Engine 上正确抛出异常?

最佳答案

您所看到的是正常且符合预期的。

App Engine 仅向您的 Android 客户端提供 HTTP 请求。不会通过 HTTP 请求“抛出”异常,您只会得到 HTTP 响应。您必须在 Google App Engine 端捕获异常,并将其转换为适当的 HTTP 错误响应(如果您没有捕获它,默认处理程序会如您所见提供 503 响应)。

在 Android 端,您必须检查错误结果。

关于java - App Engine 异常,如何在 Android 中捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785943/

相关文章:

java - 如何在 linux 多处理器环境中监控 java 应用程序每个线程的 cpu 使用情况?

java - 部署后的 Google App Engine 和 Cloud SQL

python - 错误请求错误 : projection and keys_only cannot both be set

python - 使用 Appengine 用 python 解码 JSON

java - 销毁 session

java - 我的应用程序在 android studio 中崩溃了,在查看日志时我无法弄清楚出了什么问题

java - 从静态初始值设定项初始化静态最终字段

android - Android中如何为GridView的每一项设置一些额外的信息?

android - 更改默认蓝色位置标记的颜色

android - ListFragment 图片改变大小