Introduction au Zend Framework

 Apprendre Zend Framework

appendix

 Guide de référence Zend Framework


  •  Zend_Gdata
  •  Zend_Http
  •  Zend_InfoCard
  •  Zend_Json
  •  Zend_Layout
  •  Zend_Ldap
  •  Zend_Loader
  •  Zend_Locale
  •  Zend_Log
  •  Zend_Mail
  •  Zend_Markup
  •  Zend_Measure
  •  Zend_Memory
  •  Zend_Mime
  •  Zend_Navigation
  •  Zend_Oauth
  •  Zend_OpenId
  •  Zend_Paginator
  •  Zend_Pdf
  •  Zend_ProgressBar
  •  Zend_Queue
  •  Zend_Reflection
  •  Zend_Registry
  •  Zend_Rest

  •  Zend_Search_Lucene
  •  Zend_Serializer
  •  Zend_Server
  •  Zend_Service
  •  Zend_Session
  •  Zend_Soap
  •  Zend_Tag
  •  Zend_Test
  •  Zend_Text
  •  Zend_TimeSync
  •  Zend_Tool
  •  Zend_Tool_Framework
  •  Zend_Tool_Project
  •  Zend_Translate
  •  Zend_Uri
  •  Zend_Validate
  •  Zend_Version
  •  Zend_View
  •  Zend_Wildfire
  •  Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 61.2% Update 2010-11-28 - Revision 23149 - Version ZF 1.11.x

    36.13. Attraper les exceptions Gdata

    La classe Zend_Gdata_App_Exception est la classe de base de toutes les exceptions envoyées par les composants Gdata.

    try {
        
    $client =
            
    Zend_Gdata_ClientLogin::getHttpClient($username$password);
    } catch(
    Zend_Gdata_App_Exception $ex) {
        
    // Affiche l'exception à l'utilisateur
        
    die($ex->getMessage());
    }

    Voici les sous classes exception utilisées dans Zend_Gdata :

    • Zend_Gdata_App_AuthException indique que les identifiants du compte utilisateur sont erronés.

    • Zend_Gdata_App_BadMethodCallException est levée lorsque vous tentez d'utiliser une méthode sur un service qui ne l'implémente pas. Par exemple, le service CodeSearch ne supporte pas la méthode post().

    • Zend_Gdata_App_HttpException indique un échec de requête HTTP. Cette exception vous donne le moyen de récupérer la réponse Zend_Http_Response entière pour déterminer la cause exacte de l'erreur, alors que $e->getMessage() ne montre pas autant de détails.

    • Zend_Gdata_App_InvalidArgumentException est envoyée lorsque l'application envoie une valeur non attendue. Par exemple spécifier la visibilité d'un calendrier à "banane", ou récupérer le flux d'un blog Blogger sans spécifier le nom du blog en question.

    • Zend_Gdata_App_CaptchaRequiredException est envoyée lorsqu'une tentative de ClientLogin reçoit un challenge CAPTCHA™ depuis le service d'authentification. Cette exception contient un jeton ID et une URL vers une image CAPTCHA™ . Cette image est un puzzle visuel qui devrait être retournée à l'utilisateur du service. Après récupération de la réponse de l'utilisateur, celle-ci peut être incluse lors du ClientLogin suivant. L'utilisateur peut aussi alternativement être redirigé vers ce site : https://www.google.com/accounts/DisplayUnlockCaptcha. De plus amples informations peuvent être trouvées dans la documentation du ClientLogin.

    Vous pouvez ainsi utiliser ces sous-classes d'exceptions pour les gérer chacune différemment. Référez vous à l'API pour savoir quel composant Zend_Gdata envoie quel type d'exception.

    try {
        
    $client =
            
    Zend_Gdata_ClientLogin::getHttpClient($username,
                                                  
    $password,
                                                  
    $service);
    } catch(
    Zend_Gdata_App_AuthException $authEx) {
        
    // identifiants fournis incorrects
        // Vous pourriez par exemple offrir une
        // seconde chance à l'utilisateur ici
        
    ...
    } catch(
    Zend_Gdata_App_HttpException $httpEx) {
        
    // les serveurs Google Data sont injoignables
        
    die($httpEx->getMessage);
    }
    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...