Partilhar via


Visão geral do tratamento de exceções

A API de cache do Microsoft AppFabric 1.1 para Windows Server apresenta exceções de .NET quando ocorrem erros. Este tópico analisa conceitos básicos para lidar com erros e fornece um exemplo.

A classe DataCacheException

Um objeto DataCacheException comum é apresentado para erros específicos dos métodos de Cache do AppFabric. O objeto DataCacheException contém quatro propriedades que podem ajudar você a diagnosticar a causa de uma exceção:

Propriedade DataCacheException Descrição

Message

Uma cadeia de caracteres que descreve o erro.

ErrorCode

Um valor inteiro que corresponde a um código de erro constante na classe DataCacheErrorCode.

SubStatus

Um valor inteiro que corresponde a um substatus constante na classe DataCacheErrorSubStatus.

InnerException

Uma instância de exceção que causa a exceção atual. Esse valor pode ser nulo.

Algumas falhas, como tempo limite, podem ocorrer em qualquer método de cliente de cache. O código do seu aplicativo precisa estar preparado para lidar com essas exceções comuns. Para obter mais informações, consulte Exceções comuns.

Dica

Algumas falhas não apresentam exceções. Por exemplo, o método Get retornará um valor nulo se a chave não for encontrada. Outros métodos podem retornar valores booleanos para indicar êxito ou falha. Para obter mais informações sobre métodos específicos, consulte o namespace Microsoft.ApplicationServer.Caching na documentação da biblioteca de classes do Microsoft AppFabric 1.1 para Windows Server.

Exemplo

O exemplo a seguir tenta colocar um objeto da cadeia de caracteres, denominado strObject, em um DataCache, denominado myCache. O método Put sobrecarregado é utilizado para especificar uma região de cache para o objeto. Se a região ainda não existir no cache, o objeto DataCacheException é apresentado com um código de erro do RegionDoesNotExist. Neste exemplo, esse erro é remediado com a criação da região e uma nova tentativa da operação de implantação.

Dim strKey As String = "key0"
Dim strObject As String = "Source String"

Try
   ' Put a string object into the cache region, "Region1"
   myCache.Put(strKey, strObject, "Region1")

Catch cacheError As DataCacheException
   ' Look at the ErrorCode property to see if the Region is missing
   If (cacheError.ErrorCode = DataCacheErrorCode.RegionDoesNotExist) Then

      ' Create the Region and retry the Put call
      myCache.CreateRegion("Region1")
      myCache.Put(strKey, strObject, "Region1")
   End If
End Try
string strKey = "key0";
string strObject = "Source String";

try
{
   // Put a string object into the cache region, "Region1"
   myCache.Put(strKey, strObject, "Region1");
}
catch (DataCacheException cacheError)
{
   // Look at the ErrorCode property to see if the Region is missing
   if (cacheError.ErrorCode == DataCacheErrorCode.RegionDoesNotExist)
   {
      // Create the Region and retry the Put call
      myCache.CreateRegion("Region1");
      myCache.Put(strKey, strObject, "Region1");
   }
}

Consulte também

Conceitos

Exceções comuns
Configurando tempos limites do cliente de cache

  2012-03-05