繁体   English   中英

Android如何捕获从PHP Rest抛出的异常

[英]Android how to catch an exception thrown from php rest

我有一个PHP RESTful API,它返回JSON对象。 我有一个Android客户端从该API请求REST请求

到现在为止,如果服务器端出现问题,则API返回布尔响应“ false”

我想更改API的流程,因此与其发送包含“ false”的JSON响应,不如将其抛出Exception和异常,我希望android端捕获该异常。

所以基本上,我想要类似以下Android代码的内容:

try {
    php_api.getUsers();
} catch (Exception ex) {
    // TODO
}

能做到吗 这样会捕获任何PHP异常吗?

我没有使用Java,但我认为您不能做到这一点。 当PHP引发异常时,它仍然会产生某种输出,具体取决于您如何设置异常处理。 它可能显示带有堆栈跟踪或类似内容的异常消息。 但是在客户端(您的Java应用程序)方面,这不过是文本。

但是,休息响应应始终具有可检查的标头。 看看这个: http : //blog.zenika.com/index.php?post/2011/05/18/Error-handling-with-REST

通过遵循此处编写的内容,您的Java-to-PHP api将始终在返回内容之前读取响应标头。 如果显示500或400,则会从api中抛出Java异常,您可以在使用它的代码中捕获该异常。

如果您的PHP端未发送所需的标头,则始终可以覆盖PHP的错误 / 异常处理以生成自定义输出(包括标头)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM