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

  • DrePwn

    DrePwn

    22 Temmuz 2011
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011