1

Google エンドポイントで App Engine を使用しようとしていますが、奇妙な動作が見られました。次の方法で例外をスローした場合:

throw new Exception("MyException");

次に、エンドポイントとの接続を担当するアンドロイド側でそれをキャッチした場合、AsyncTaskそこからメッセージを取得できません。私が電話した場合、私e.getMessage()はそのようなものを得ました:

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

少し奇妙です。誰かがこの行動に遭遇しましたか? App Engine で例外を適切にスローするにはどうすればよいですか?

4

1 に答える 1

3

あなたが見ているものは正常であり、期待されています。

App Engine は、HTTP リクエストのみを Android クライアントに提供します。例外は HTTP リクエストに対して「スロー」されず、HTTP レスポンスのみを取得します。Google App Engine 側で例外をキャッチし、それを適切な HTTP エラー レスポンスに変換する必要があります (キャッチしない場合、デフォルト ハンドラはご覧のように 503 レスポンスを返します)。

Android 側では、エラー結果を確認する必要があります。

于 2012-10-08T18:14:30.117 に答える