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 |
---|---|
Uma cadeia de caracteres que descreve o erro. |
|
Um valor inteiro que corresponde a um código de erro constante na classe DataCacheErrorCode. |
|
Um valor inteiro que corresponde a um substatus constante na classe DataCacheErrorSubStatus. |
|
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