SORU
15 ŞUBAT 2012, ÇARŞAMBA


Nasıl Değil-Yeterli Disk Alanı-İstisna tipi, IOException olmadığını kontrol edin.

Ne varsa IOException "yetersiz disk alanı" özel durum türü? eğer bir kontrol edebilirim

Eğer bu mesaj bir şey gibi maçlar olmadığını görmek için kontrol ediyorum şu anda "yetersiz disk alanı", ama ben bu OS dili İngilizce değil ise işe yaramaz.

CEVAP
15 ŞUBAT 2012, ÇARŞAMBA


ERROR_DISK_FULL (0x70) ERROR_HANDLE_DISK_FULL (0x27) karşı HResult ve test kontrol etmeniz gerekir

Özel bir durum için HResult almak için kullanın. Marshal.GetHRForException

static bool IsDiskFull(Exception ex)
{
    const int ERROR_HANDLE_DISK_FULL = 0x27;
    const int ERROR_DISK_FULL = 0x70;

    int win32ErrorCode = Marshal.GetHRForException(ex) & 0xFFFF;
    return win32ErrorCode == ERROR_HANDLE_DISK_FULL || win32ErrorCode == ERROR_DISK_FULL;
}

GetHRForException, Web belgeleri: bir yan etkisi olduğunu unutmayın

Bu notuGetHRForExceptionyöntem ayarlarIerrorınfobu geçerli iş parçacığı. Bu gibi yöntemler için beklenmedik sonuçlara neden olabilir ThrowExceptionForHR kullanarak varsayılan yöntemleriIerrorınfobu eğer geçerli iş parçacığı ayarlanır.

Ayrıca How do I determine the HResult for a System.IO.IOException? bkz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011
  • RyanXLT

    RyanXLT

    22 Ocak 2011
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006