当调用 onFailure 回调并将异常错误消息设置为 null 时,有什么方法可以找出 Google Drive API 失败的原因?对于 API 的开发人员来说,在没有任何特定子类化且没有任何有关失败原因的信息的情况下抛出异常甚至是一种合法的方法吗?
在我看来,这只是谷歌糟糕的编码风格和恶化的软件开发文化造成的错误,但让我知道,否则我可能错过了谷歌使用的当代敏捷方法的最新趋势。
目前尚不清楚在这种情况下向用户显示什么,除了晦涩难懂但不幸的是非常常见的“未知 GDrive 错误”消息。
Tasks.call(mExecutor, Callable<Int>{
var pageToken: String? = null
var textFound = false
var otherFound = false
var cnt = 0
do {
val q = mDrive!!.files().list()
.setQ("name='some-text' or name='other-text'")
.setSpaces("drive")
.setFields("nextPageToken, files(id, name)")
.setPageToken(pageToken)
.setOrderBy("modifiedTime desc")
val files = q.execute()
for (file in files.getFiles()) {
textFound = file.name.equals("some-text")
otherFound = file.name.equals("other-text")
}
pageToken = files.nextPageToken
} while (pageToken != null)
cnt += if (plainFound) 1 else 0
cnt += if (encFound) 1 else 0
return@Callable cnt
}).addOnFailureListener { it: Exception
// it.message is equal to NULL here and I don't know what to tell the user
// except that obscure "Unknown GDrive Error"
}