App Engine Exception,如何在Android中捕获

时间:2012-10-08 16:47:19

标签: java android google-app-engine

我正在尝试将App Engine与Google Endpoint一起使用,我只是看到了一个奇怪的行为。如果我抛出异常:

throw new Exception("MyException");

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

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

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

1 个答案:

答案 0 :(得分:3)

您所看到的是正常的和预期的。

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

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