Aracılığıyla paylaş


Özel durum işleme mfc

Bu makalede mfc özel durum işleme mekanizmaları açıklanmaktadır. Bu iki mekanizma vardır:

  • C++ özel durumlar, mfc sürüm 3.0 ve üstü

  • mfc özel makrolar mfc sürüm 1.0 ve sonrası

mfc kullanılarak yeni bir uygulama yazıyorsanız, C++ mekanizmasını kullanmanız gerekir. Bu mekanizma, bolca zaten varolan uygulama kullanıyorsa, makro tabanlı mekanizması kullanabilirsiniz.

Yedeğe C++ özel durumlar mfc özel makrolar yerine kullanmak için varolan bir koda dönüştürebilirsiniz. Kod ve böylece yönergeleri dönüştürme yararları makalesinde açıklanan Özel durumlar: mfc özel makroları dönüştürme.

mfc özel makroları kullanarak uygulama geliþtirdiyseniz, yeni kodunuzu C++ özel durumlar kullanırken varolan kodunuzu bu makro devam edebilirsiniz. Makale Özel durumlar: Değişiklikleri özel makrolara sürüm 3.0 Bunu yapmak yönergeler sağlar.

Not

C++ özel durum kodunda etkinleştirmek için kod oluşturma sayfasında projenin c/C++ klasöründe C++ özel durumlarını etkinleştirmek seçin Özellik sayfaları (C++) iletişim kutusu veya /gx derleyici seçeneğini kullanın.Özel durum işleme devre dışı bırakan /gx– varsayılandır.

Bu makale aşağıdaki konuları kapsar:

  • Ne zaman kullanılacağı durumlar

  • mfc özel destek

  • Özel durumlar hakkında daha fazla okuma

Ne zaman kullanılacağı durumlar

Sonuçlar üç kategorileri program yürütme sırasında bir işlev çağrıldığında oluşabilir: normal yürütme, hatalı yürütme veya olağan dışı yürütme. Her kategori, aşağıda açıklanmıştır.

  • Normal yürütme

    İşlevin normal yürütme ve geri dönün. Bazı işlevler, işlevin sonucunu gösterir arayan sonuç kodu döndürür. Olası sonuç kodları kesinlikle işlev için tanımlanmış olan ve olası sonuçlarını işlevinin aralığını temsil eder. Sonuç kodu başarı veya başarısızlık gösterebilir veya hatta belirli türde bir beklentilerini normal aralıkta hatası gösterebilir. Örneğin, dosya durumu işlevi dosya var olduğunu belirten bir kod dönebilirsiniz. Sonuç kodu çok beklenen sonuçlar birini temsil ettiğinden "hata kodu" terimi kullanılmaz unutmayın.

  • Hatalı yürütme

    İşlev bağımsız değişkenleri geçirerek bazı hata yapan veya uygunsuz bir bağlamda işlevini çağırır. Bu durumda bir hata neden olur ve program geliştirme sırasında bir onaylama işlemi tarafından algılanacaktır. (Onaylamaları hakkında daha fazla bilgi için bkz: Onaylamaları.)

  • Olağan dışı yürütme

    Olağan dışı yürütme sonuna kadar burada düşük bellek veya g/Ç hataları gibi bir programın denetimi dışındaki koşullar işlevin sonucunu etkileyen durumlarda içerir. Olağan dışı durumlar yakalamak ve özel durumlar yaratmak ele alınmalıdır.

Özel durumlar için olağan dışı bir yürütme özellikle uygun kullanmaktır.

mfc özel destek

C++ özel durumlar doğrudan kullanın veya mfc özel makroları kullanmak mı kullanacağınız CException sınıfı veya CException-framework veya uygulama tarafından atılan nesneleri türetilmiş.

mfc tarafından sağlanan önceden tanımlanmış özel durumlar aşağıdaki tabloda gösterilmiştir.

Özel durum sınıfı

Anlam

CMemoryException sınıfı

Bellek yetersiz

CFileException sınıfı

Dosya özel durumu

CArchiveException sınıfı

Özel arşiv/seri hale getirme

CNotSupportedException sınıfı

Yanıt için desteklenmeyen hizmet istemek için

CResourceException sınıfı

Windows kaynak ayırma durum

CDaoException sınıfı

Veritabanı özel durumlar (dao sınıfları)

CDBException sınıfı

Veritabanı özel durumlar (odbc sınıfları)

COleException sınıfı

ole Özel durumlar

COleDispatchException sınıfı

Gönderme (Otomasyon) özel durumlar

CUserException sınıfı

Kullanıcıya bir ileti kutusu uyarır istisna, daha sonra genel atarCException sınıfı

Not

mfc C++ özel durumlar hem de mfc özel makrolar destekler.mfc doğrudan desteklemeyen Windows NT yapılandırılmış özel durum işleyicileri (seh) anlatıldığı gibi Yapılandırılmış özel durum işleme.

Özel durumlar hakkında daha fazla okuma

Aşağıdaki makaleler için özel durum etme mfc kitaplık kullanarak açıklar:

Aşağıdaki makaleler mfc özel makrolar C++ özel anahtar sözcükler ile karşılaştırmak ve kodunuzu nasıl uyum açıklamaktadır:

Ayrıca bkz.

Başvuru

C++ özel durum işleme

Diğer Kaynaklar

Nasıl ı: oluşturmak kendi özel istisna sınıflarının?