12.9. Catching Gdata Exceptions
Anterior | Capítulo 12. Zend_Gdata | Próxima

## 12.9. Catching Gdata Exceptions

A classe `Zend_Gdata_Exception` é classe base para as exceções lançadas por Zend_Gdata. Você pode capturar qualquer exceção lançada por Zend_Gdata capturando Zend_Gdata_Exception.

    <?php
    try {
        $client = Zend_Gdata_ClientLogin::getHttpClient($username, $password);
    } catch(Zend_Gdata_Exception $ex) {
        // Report the exception to the user
        die($ex->getMessage());
    }
    ?>

Zend_Gdata utiliza as seguintes subclasses de exceções:

- `Zend_Gdata_AuthException` indica que as credenciais da conta de usuário não são mais válidas.

- `Zend_Gdata_BadMethodCallException` indica que um método foi chamado por um serviço que não suporta o referido método. Por exemplo, o serviço CodeSearch não suporta `post()`.

- `Zend_Gdata_HttpException` indica que uma requisição HTTP não obteve sucesso.

- `Zend_Gdata_InvalidArgumentException` é lançado quando a aplicação fornece um valor invalido para o contexto. Por exemplo, tentar especificar um valor "banana" para a visibilidade de um objeto "Calendar", ou tentar recuperar o conteúdo de um blog sem especificar para Blogger o nome do blog.

Você pode usar as subclasses de exceção para manusear exceções específicas. Consulte a documentação da API para saber que subclasses de exceções são lançadas por cada um dos métodos de Zend_Gdata.

    <?php
    try {
        $client = Zend_Gdata_ClientLogin::getHttpClient($username, $password);
    } catch(Zend_Gdata_AuthException $authEx) {
        // The user's credentials were incorrect.
        // It would be appropriate to give the user a second try.
        ...
    } catch(Zend_Gdata_HttpException $httpEx) {
        // Google Data servers cannot be contacted.
        die($httpEx->getMessage);
    }
    ?>

Anterior | Acima | Próxima
12.8. Using the Gdata Data Helper | Principal | Capítulo 13. Zend_Http