Dropbox C#SDKでエラーを処理する方法は?

23W

プロパティはDropboxC#SDKのエラーをどのように処理しますか?

さまざまなAPI呼び出しからのエラーを処理するための一般的な方法を使用したいと思います。このメソッドは、トップアプリレベルおよびサービスAPI呼び出しで使用する必要があります。ほとんどのクラウドAPI(MicrosoftOneDriveやGoogleDrive APIなど)では、厳密に定義されたリスト(列挙型はすべてのエラーコード)とエラー処理用の例外クラスが1つしかないため、これを実行できます。しかし、Dropbox C#SDKでは、すべてが逆になります。エラーコードリストはありませんが、多数の例外クラスがあります(1つの例外テンプレートDropbox.Api.ApiException<T>Tテンプレートパラメータ用の大量のエラーオブジェクト)。たとえば、ファイル操作のエラークラスの数を確認してください-http://dropbox.github.io/dropbox-sdk-dotnet/html/N_Dropbox_Api_Files.htm

なんてこったい!それらすべてをどのように処理しますか?巨大なcatch()ブロックを書く

さらに悪いことに、それらのほとんどは同じエラータイプを使用します!
たとえばDropbox.Api.Files.LookupError、「見つかりません」、「不正なパス」などのエラーを説明するクラス21の一部ですその他のエラークラス。単純な「見つかりません」エラーを処理するには、20個の例外をキャッチできる必要があります。正常ですか?

では、プロパティはDropbox C#SDKのエラーをどのように処理しますか?

グレッグ

特定の例外を処理する代わりに、任意のDropbox例外をキャッチしたい場合はDropboxException、次のように親タイプをキャッチできます

try {
    var account = await this.client.Users.GetCurrentAccountAsync();
    // use account
} catch (DropboxException ex) {
    // inspect and handle ex as desired
}

try {
    var list = await client.Files.ListFolderAsync(string.Empty);
    // use list
} catch (DropboxException ex) {
    // inspect and handle ex as desired
}


try {
    var download = await client.Files.DownloadAsync(path);
    // use download
} catch (DropboxException ex) {
    // inspect and handle ex as desired
}

特定の例外をキャッチする方法と、一般的にキャッチされた例外を検査する方法を示す、より完全な例を次に示します。

try {
    var list = await client.Files.ListFolderAsync(string.Empty);
    // use list
} catch (ApiException<Dropbox.Api.Files.ListFolderError> ex) {
    // handle ListFolder-specific error
} catch (DropboxException ex) {
    // inspect and handle ex as desired
    if (ex is AuthException) {
        // handle AuthException, which can happen on any call
        if (((AuthException)ex).ErrorResponse.IsInvalidAccessToken) {
            // handle invalid access token case
        }
    } else if (ex is HttpException) {
        // handle HttpException, which can happen on any call
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Dropbox Java APIのエラーに対処する方法

分類Dev

JavaScript Dropbox DatastoreAPIでエラーをキャッチする方法

分類Dev

Dropbox APIDbxAuthFinishクラス

分類Dev

Dropboxを削除する方法

分類Dev

TruecryptでDropboxを使用する方法は?

分類Dev

DropboxでfileListを取得する方法は?

分類Dev

DropboxをThunarに統合する方法は?

分類Dev

Dropbox CoreAPIと同期する

分類Dev

Dropbox JavaScriptSDKが突然「Dropbox.Dropboxはコンストラクターではありません」というエラーを表示します

分類Dev

dropbox-cliの使い方は?

分類Dev

DropboxでのLAN共有

分類Dev

Dropboxアプリを既存のDropboxの場所にポイントする方法は?

分類Dev

AndroidでDropbox APIなしでDropboxからAPKをダウンロードする

分類Dev

Dropboxで所有権と権限を保持する方法は?

分類Dev

Dropboxで所有権と権限を保持する方法は?

分類Dev

Dropboxでフォルダを強制的に削除する方法は?

分類Dev

任意のクラウドプラットフォームでdropbox-jsを使用してdropboxで認証する方法は?

分類Dev

JavaでDropbox SDKを使用せずにDropboxにファイルをアップロードするにはどうすればよいですか?

分類Dev

Dropbox-ファイルを保持しながらDropboxを再インストールする方法は?

分類Dev

Dropboxの同期をリモートで修正

分類Dev

起動時にDropboxを起動する

分類Dev

起動時にDropboxを実行する

分類Dev

Dropbox.gitignoreを実装する

分類Dev

起動時にDropboxを実行する

分類Dev

起動時にDropboxを起動する

分類Dev

Android-Dropbox:違いを確認する

分類Dev

Dropbox同期:Dropboxからではなくローカルでファイルを削除する

分類Dev

dropbox-api dropbox-jsV2でポップアップを開く方法

分類Dev

nautilus-dropbox:依存:dropboxですが、インストールされません

Related 関連記事

  1. 1

    Dropbox Java APIのエラーに対処する方法

  2. 2

    JavaScript Dropbox DatastoreAPIでエラーをキャッチする方法

  3. 3

    Dropbox APIDbxAuthFinishクラス

  4. 4

    Dropboxを削除する方法

  5. 5

    TruecryptでDropboxを使用する方法は?

  6. 6

    DropboxでfileListを取得する方法は?

  7. 7

    DropboxをThunarに統合する方法は?

  8. 8

    Dropbox CoreAPIと同期する

  9. 9

    Dropbox JavaScriptSDKが突然「Dropbox.Dropboxはコンストラクターではありません」というエラーを表示します

  10. 10

    dropbox-cliの使い方は?

  11. 11

    DropboxでのLAN共有

  12. 12

    Dropboxアプリを既存のDropboxの場所にポイントする方法は?

  13. 13

    AndroidでDropbox APIなしでDropboxからAPKをダウンロードする

  14. 14

    Dropboxで所有権と権限を保持する方法は?

  15. 15

    Dropboxで所有権と権限を保持する方法は?

  16. 16

    Dropboxでフォルダを強制的に削除する方法は?

  17. 17

    任意のクラウドプラットフォームでdropbox-jsを使用してdropboxで認証する方法は?

  18. 18

    JavaでDropbox SDKを使用せずにDropboxにファイルをアップロードするにはどうすればよいですか?

  19. 19

    Dropbox-ファイルを保持しながらDropboxを再インストールする方法は?

  20. 20

    Dropboxの同期をリモートで修正

  21. 21

    起動時にDropboxを起動する

  22. 22

    起動時にDropboxを実行する

  23. 23

    Dropbox.gitignoreを実装する

  24. 24

    起動時にDropboxを実行する

  25. 25

    起動時にDropboxを起動する

  26. 26

    Android-Dropbox:違いを確認する

  27. 27

    Dropbox同期:Dropboxからではなくローカルでファイルを削除する

  28. 28

    dropbox-api dropbox-jsV2でポップアップを開く方法

  29. 29

    nautilus-dropbox:依存:dropboxですが、インストールされません

ホットタグ

アーカイブ