WindowsAzure.StorageClient 1.7 から WindowsAzure.Storage 2.0 に移行しています。現在、例外の管理に取り組んでいます。このガイドと他のソースに従って、私はから移行する必要があることがわかりました
try
{
// Something
}
catch (StorageClientException e)
{
switch (e.ErrorCode)
{
case StorageErrorCode.ContainerNotFound:
case StorageErrorCode.ResourceNotFound:
case StorageErrorCode.BlobNotFound:
case StorageErrorCode.ConditionFailed:
// Do something
}
}
に
try
{
// Something
}
catch (StorageException e)
{
switch (e.RequestInformation.ExtendedErrorInformation.ErrorCode)
{
case StorageErrorCodeStrings.ContainerNotFound:
case StorageErrorCodeStrings.ResourceNotFound:
case BlobErrorCodeStrings.BlobNotFound:
case StorageErrorCodeStrings.ConditionNotMet:
// Do something
}
}
シンプルに見えます。問題は、ExtendedErrorInformation が常に null に等しいことです。代わりに、HttpStatusMessage は「指定された blob が存在しません。」と言うはずです。
テスト環境のシミュレーターが原因かと思っていましたが、実際の Azure 環境で試してみると同じ状況に陥りました。
何か案が?