Как узнать причину сбоя в API Google Диска Android

Есть ли способ узнать, что было причиной сбоя API Google Диска, когда обратный вызов onFailure вызывается с сообщением об ошибке исключения, установленным на null? Является ли законным подход разработчиков API-интерфейсов к исключениям без какого-либо конкретного подкласса и без какой-либо информации о причине сбоя?

На мой взгляд, это просто ошибка, вызванная плохим стилем кодирования и ухудшением культуры разработки ПО в Google, но дайте мне знать иначе, возможно, мне не хватает последних тенденций в современных гибких методологиях, используемых Google.

Непонятно, что показывать пользователю в этом случае, кроме непонятного и запутанного, но, к сожалению, очень распространенного сообщения "Неизвестная ошибка 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"
    }

0 ответов

Другие вопросы по тегам