通过 TOS Android SDK 接口向 TOS 服务端发送请求,请求响应中会包含当前请求操作的返回码,用于标识当前请求的响应状态。TOS 服务遵循 HTTP 规范。
TOS 服务端遵循 HTTP 规范,对于请求失败的场景定义了详细的 HTTP 状态码和业务错误码,详细内容请参见TOS 服务端状态码和错误码定义。
捕获 TosException 并获取错误码 Code、HTTP 状态码 StatusCode 等,示例代码如下。
/** * TOS Android SDK 封装了 TosException,并派生出三种 Exception * TosServerException:TOS 服务端产生的异常,具体异常信息可查看“错误码及处理措施”一节 * TosClientException:TOS Android SDK 客户端抛出的异常,一般在校验/解析输入参数、构造 TOS 请求、解析结果时抛出,出现此异常可检查输入参数是否有误 * UnexpectedStatusCodeException:TOS 非预期的错误码 * * SDK 接口统一抛出 TosException,可通过以下代码获取错误码 **/ // 方式一 try{ /* your code */ } catch(TosException e){ /** * 只有当 Exception 为 TosServerException 时,才会获得具体错误码,其他 Exception 得到空字符串 "" **/ Log.e("TosException", e.getCode()); // 错误码 /** * 只有当 Exception 为 TosServerException 或 UnexpectedStatusCodeException 时,才会获得具体状态码,TosClientException 得到 0 **/ Log.e("TosException", e.getStatusCode()); // HTTP 状态码 Log.e("TosException", e.toString()); // Exception 信息 } // 方式二 try{ /* your code */ } catch(TosServerException e){ Log.e("TosException", e.getCode()); // 错误码 Log.e("TosException", e.getStatusCode()); // HTTP 状态码 } catch(TosClientException e){ Log.e("TosException", e.toString()) // Exception 信息 } catch(TosException e) { Log.e("TosException", e.toString()) // Exception 信息 }