共用方式為


在 Visual C++ 中處理的例外狀況

例外狀況是錯誤狀況,可能是外部程式的控制項,會使程式無法繼續沿著其規則的執行路徑。 即使您的程式正常執行,某些作業,包括物件的建立、 檔案輸入/輸出,以及從其他模組中,所做的函式呼叫會是所有潛在的例外狀況的來源。 健全的程式碼預期,並處理例外狀況。

若要偵測邏輯錯誤,在單一程式或模組中的,使用判斷提示,而不是例外狀況 (請參閱使用判斷提示)。

Visual C++ 支援三種例外處理:

  • C + + 例外處理

    大部分的 C++ 程式,您應該使用 C++ 例外處理型別安全,並確保堆疊回溯期間的解構函式會叫用該物件。

  • 結構化的例外處理

    Windows 會提供它自己的例外狀況機制,稱為 SEH。 不建議 C++ 或 MFC 程式設計。 只在非 MFC C 程式中使用 SEH。

  • MFC 的例外狀況

    自 3.0 版,MFC 使用了 C++ 例外狀況,但是仍然支援較早期的例外處理巨集,類似於表單中的 C++ 例外狀況。 雖然這些巨集不建議使用新的程式設計,它們仍然支援回溯相容性。 在已使用的巨集的程式中,您可以自由使用 C++ 例外狀況。 在前置處理,該巨集評估例外處理的 Visual C++ 2.0 版的 C++ 語言的 Visual C++ 實作中所定義的關鍵字。 當您開始使用 C++ 例外狀況時,可以使現有的例外狀況巨集保留在原處。

使用 /EH 編譯器選項以指定類型的例外處理使用中的任務或資源。 C + + 例外處理是預設值。 不要混合錯誤處理機制 ; 比方說,務必使用 C++ 例外狀況和 SEH。 如需混合 MFC 巨集和 C++ 例外狀況的建議,請參閱例外狀況: 使用 MFC 巨集和 C++ 例外

處理例外狀況,CLR 應用程式中的資訊,請參閱在 /clr 之下所處理的例外狀況

X64 處理器上的例外處理的相關資訊,請參閱例外狀況處理 (x64)

請參閱

其他資源

C + + 語言參考