如何处理Dropbox Java API中的错误

奥斯丁:

在尝试开发与某些云服务交互的应用程序时,我发现Java专用的Dropbox API尤其令人困惑。

具体如何查找HTTP错误。例如,使用Google Drive API,如果请求失败,则将抛出IOException,但是您可以将该IOException解析为GoogleJsonResponseException,然后可以提取状态代码。

try {
    File f =drive.files().create(fileMetadata).setFields("id").execute();
    return f.getId();
} catch (IOException e) {
    if (e instanceof GoogleJsonResponseException){
          int statusCode = ((GoogleJsonResponseException) e).getStatusCode();
          errorHandler(statusCode);
   } else {
       e.printStackTrace();
   }
}

因此,java dropbox API(具体是3.0.5)中是否存在类似的内容。我一直在环顾四周,似乎没有,但是我想确保在进入这里提到的极其专业和复杂的编码的麻烦之前,先确定一下如果可以,请给我一个例子,说明如何正确处理这些异常。

格雷格:

[交叉引用以供参考:https : //www.dropboxforum.com/t5/API-support/How-to-get-error-responses-java-api/mp/258338#M14989 ]

Dropbox Java SDK自动将HTTPS响应中的结构化错误数据解析为本机类,您可以根据需要使用或多或少的特定性。结构化错误响应(响应主体中通常为JSON)提供的粒度比状态码要多得多。

例如,这是您链接到我的帖子中的StackOverflow文档中现在缺少的代码示例

try {
    SharedLinkMetadata sharedLinkMetadata = client.sharing().createSharedLinkWithSettings("/test.txt");
    System.out.println(sharedLinkMetadata.getUrl());
} catch (CreateSharedLinkWithSettingsErrorException ex) {
    System.out.println(ex);
} catch (DbxException ex) {
    System.out.println(ex);
}

而且这里有一个例子,说明如何检查特定错误情况下(即,在例如“路径”的错误)。

这是处理这些异常的推荐方法。我不认为SDK提供了一种检索原始未解析错误响应的方法。(但是,如果您不想使用SDK,则可以直接自己调用HTTPS端点。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章