<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 15.8 異常處理 wxWidget創立的時間比起"異常"的概念引入C++要早的多,因此在其代碼中已經花費了大量的力氣來應付各種各樣的異常,因此,可以說,整個 wxWidgets框架內部都沒有使用C++的異常機制.當然,這并不意味著你不可以在你的代碼中使用C++的異常機制,相反,你在你的代碼中使用它是安全的,而且wxWidgets也會幫助你這樣作. 要在你的程序中使用異常處理機制,最簡單的方法就是根本忽略它的存在,既然wxWidgets不會拋出任何異常,你又何必去處理異常呢?除非你的代碼自己拋出了一些異常.這是最簡單的方法,但是有時候,對于處理各種可能遇到的錯誤來說,這種方法是不夠的. 另外一個策略是你只用異常機制來處理那些非常致命的系統錯誤.這種情況下,你不寄希望于你的程序可以從這種致命錯誤中恢復,它所作的事情只是讓你的程序以一種更紳士的方式結束.這種情況下,你只需要重載你的wxApp派生類的OnUnhandledException函數來執行資源清除工作,注意這時候所有和異常有關的信息已經被清除了.如果你需要這些信息,你需要在OnRun函數中針對調用基類函數的語句使用try/catch語句塊. 這將使得你可以捕獲在應用程序主循環中引發的異常.如果你還希望處理在應用程序初始化和退出時候引發的異常,你需要在你的OnInit和OnExit函數中使用try/catch語句. 最后,如果你希望在異常發生的時候,你的應用程序可以從異常中恢復并且繼續運行,那么:如果你程序的異常主要集中在某個類(或其派生類)的事件處理函數中,你可以你可以在這個類的ProcessEvent函數中統一處理這些異常,如果這是不切實際的,你還可以考慮重載wxApp:: HandleEvent函數,它將允許你攔截并處理任何由事件處理函數引發的異常. wxWidgets的異常處理機制默認是打開的,它取決于wxUSE_EXCEPTIONS標記被設置為1.但是如果它被設置為0,在 windows版本中,你需要修改include/wx/msw/setup.h將其更改為1,或者在別的平臺上運行configure時增加-- enable-exceptions開關.而將其設置為0或者使用--disable-exceptions開關將會產生更為小巧和相對快速的 wxWidgets庫.另外,在windows平臺下,如果你使用的是Visual C++,你希望使用wxApp::OnFatalException函數來處理異常而不是引發一個GPF(一般保護性錯誤),你可以在你的setup.h 中將wxUSE_ON_FATAL_EXCEPTION設置為1.相反的,如果你寧愿將這種錯誤扔給你的調試器,將它設置成0\. wxWidgets自帶一個使用異常的例子,位于samples/except目錄中.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看