異常處理並不意味著需要寫顯示的try和catch。異常安全的**,可以沒有任何try和catch
異常安全的概念:異常安全是指當異常發生時,既不會發生資源洩漏,系統也不會處於不一致的狀態。
記憶體分配。如果new出錯,按照c++,一般會得到異常bad_alloc,物件的構造也就失敗,在catch捕捉到這個異常之前,所有棧上物件會全部被析構,資源全部被自動清理。
辦法 :適當組織好**,利用好raii,可以實現**短,清晰,統一在外層某地方處理異常
通常會記日誌,或在介面。
異常問題
異常當然不是乙個完美的特性。
異常違反可「你不用就不需要付出代價」的原則,只要開啟了異常,即使不使用異常你編譯出二進位制**通常也會膨脹
異常比較隱蔽,不容易看出來那些地方會發生異常和發生什麼異常
如果乙個函式宣告了不會丟擲異常,結果卻丟擲了異常,c++執行時會呼叫std::terminate來終止應用程式
使用異常的理解
會描述到一些不使用異常,也不使用錯誤碼的錯誤處理方式,異常是滲透在c++中的標準錯誤處理方式。標準庫的錯誤處理方式就是異常。其中不僅包括執行時錯誤,甚至包括一些邏輯錯誤
處理
閱讀還是寫作,這是個問題
最近節奏不錯,喜歡閱讀,閱讀哪怕一點點之後,我就有好多東西想寫寫寫。舉個生動的比喻,就好像你往乙個神秘的壺裡倒進去一小杯水,它嘩啦啦的湧出幾大桶水。然後我也沒有辦法,只有不斷的接水,接受潛意識的召喚,不斷的寫寫寫,唯一能做的,就是給自己定下 不准修改,一次成型 的寫作習慣,逼自己提高寫作效率。那麼問...
考研還是工作,這是個問題
首先說明一下,這個話題是響應一位大學師兄的號召而寫,有些象命題作文,或許能為師弟們提供一點參考。我畢業自北方的一所師範大學,在我現在工作的南方這裡沒有任何名氣,都很少有人聽過這個學校的名字。當年,這所院校的就業率之高據說全國都名列前茅 只是據說。近幾年來,聽一些在學校工作或學習的同學說,就業率也開始...
動態還是靜態,這是乙個問題
我們經常會討論到網頁內容的動態和靜態的問題,這是乙個沒有唯一答案的話題。1.靜態,我們損失了靈活性,意味著,任何使用者在任何時候看到的效果都是一樣的。2.動態,我們得到了靈活性,意味著,我們可以根據使用者的不同,時間的不同,或者僅僅是我們高興不高興,來決定要怎麼輸出內容到瀏覽器。但是,動態的功能增加...