Gestion des exceptions SDK

Prev Next

Lorsque le SDK rencontre un problème, il lève l’un des types d’exception suivants :

  • EslException: Il s’agit d’une exception générale. Il comprend une chaîne de caractères qui indique ce qui a échoué.

  • EslServerException: Il s’agit d’une sous-classe de EslException. An EslServerException est levé lorsque le serveur renvoie du code inattendu à partir d’une requête. Le EslServerException contient également la réponse exacte du serveur à partir de la demande d’API sous-jacente.

Les exemples de code suivants illustrent : (1) comment différencier ces deux types d’exceptions ; (2) Comment accéder à la réponse du serveur sous-jacent si an EslServerException est lancé :

try {
    PackageId packageId = eslClient.createPackageOneStep( superDuperPackage );
} catch (EslServerException serverException) {
    System.out.println( "The server could not complete the request." );
    System.out.println( serverException.getMessage() );
    System.out.println( "HTTP code: " + serverException.getServerError().getCode());
    System.out.println( "Server message: " + serverException.getServerError().getMessage());
} catch (EslException exception) {
    System.out.println( exception.getMessage() );
    System.out.println( exception.getCause().getMessage() );
}
try {
    PackageId packageId = eslClient.CreatePackageOneStep( superDuperPackage );
} catch (EslServerException serverException) {
    Console.Out.WriteLine( "The server could not complete the request." );
    Console.Out.WriteLine( serverException.Message );
    Console.Out.WriteLine( "HTTP code: " + serverException.ServerError.Code);
    Console.Out.WriteLine( "Server message: " + serverException.ServerError.Message);
} catch (EslException exception) {
    Console.Out.WriteLine( exception.Message );
    Console.Out.WriteLine( exception.InnerException.Message );
}