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

  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • martin shervington

    martin sherv

    7 EKİM 2011