Ö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 |
---|---|
Bellek yetersiz |
|
Dosya özel durumu |
|
Özel arşiv/seri hale getirme |
|
Yanıt için desteklenmeyen hizmet istemek için |
|
Windows kaynak ayırma durum |
|
Veritabanı özel durumlar (dao sınıfları) |
|
Veritabanı özel durumlar (odbc sınıfları) |
|
ole Özel durumlar |
|
Gönderme (Otomasyon) özel durumlar |
|
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: