首頁  >  文章  >  後端開發  >  php 的try catch要解決什麼問題?

php 的try catch要解決什麼問題?

WBOY
WBOY原創
2016-10-22 00:14:211173瀏覽

知道php有個異常處理,百度了一下,都是告訴大家文法怎麼寫。自己照著上面的套一套就當做是會用了。但還沒找到一篇告訴大家為什麼要用try catch,它的出現是想解決什麼問題。有看到說能讓程式碼減少“if... else 這樣的野路子”,但也沒繼續細講。
有知道的嗎,繼續找答案,同時會常回來留意這個問題的回答。

回覆內容:

知道php有個異常處理,百度了一下,都是告訴大家文法怎麼寫。自己照著上面的套一套就當做是會用了。但還沒找到一篇告訴大家為什麼要用try catch,它的出現是想解決什麼問題。有看到說能讓程式碼減少“if... else 這樣的野路子”,但也沒繼續細講。
有知道的嗎,繼續找答案,同時會常回來留意這個問題的回答。

程式中除了要處理一切按我們意願進行的輸入和計算結果以外,對那些錯誤輸入或者是異常運算結果的處理也是非常重要的環節。

最原始的異常處理當然就是你所說的If控制語句的使用了,這種方式實在過於簡陋,不但需要寫很多重複程式碼,還可能因為這些處理異常的程式碼過於龐大,導致Bug隱藏其中。

高一層的異常處理機制要屬錯誤機制了。錯誤機制能夠提供異常發生時執行指定程式碼段的方法,解決了大量使用If進行判斷又臃腫又難看的異常處理程式碼的問題。不過錯誤處理機制只提供了異常處理的流程,沒有提供堆疊處理等異常環境相關的維護,所以錯誤處理機制只是比較適用於流程這類比較扁平化的程式設計。

再高一層就到異常處理機制,也就是Try Catch了,異常處理相對於錯誤處理來說,能夠保留和實現堆疊控制,不但能夠讓我們的異常處理程式碼能夠緊貼異常可能發生的區域,也能夠讓程式設計師不用過多的去考慮異常發生時上下文環境維護的問題。特別是在層次較多的堆疊結構中,異常機制能夠很好的顯示棧的下層對上層異常的處理結構。

分離 報錯代碼 和 處理錯誤的代碼.

給高層函數處理錯誤的機會.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn