2009-10-03 21 views
1

我一直在開發使用try/catch處理所有異常和錯誤的大型應用程序;然而,我一直在試圖弄清楚:什麼時候使用try/catch語句是正確的?什麼時候在PHP上使用異常很好?

對於try/catchs有一個很好的做法/規則嗎?

目前我正在爲我的PHP框架構建一個SEO庫,並且我有一個「小」函數,並且我問自己「我真的應該在這個小函數上使用try/catch嗎?」

如果有人能指導我這件事,我會非常感激。

回答

0

如果你的小函數內部沒有任何東西可以拋出異常,那麼將它封裝在try/catch塊中並沒有什麼意義。如果它確實是一個小函數,也許可以用try/catch來處理調用你的小函數的代碼塊(除了其他代碼)。你要注意不要以太高的嘗試/捕獲量來掩蓋你的代碼,這些代碼並沒有真正告訴你具體問題是什麼/它發生了什麼。

0

當你有自己的錯誤處理函數(你應該)或者你想要抑制錯誤時,Try/Catch是最有用的。你永遠不應該使用PHP的內置@錯誤抑制,所以使用try/catch可以使用你的錯誤函數來記錄錯誤,並幫助你以一種有用的方式壓制錯誤。

那是我個人使用它們的時候。如果您在框架的其餘部分使用它們,我會繼續使用它來保持一致性(尤其是如果您使用自定義錯誤處理函數 - 這對於應用程序的連續性和一致性確實有幫助)。

0

如果您使用的是這種編碼標準,請使用它。同時使用異常和返回代碼可能會變成亂七八糟的混亂和開發緩慢(試圖記住如何處理每個函數的錯誤)。也許你不需要在你的小函數中使用try/catch塊 - 但是如果你正確地構造了腳本,你可以從小函數中拋出異常,並使用更大的控制函數在try塊中調用它們。

但是,我已經讀過,只是使用異常可以很容易變成一個錯綜複雜的混亂。您的腳本必須在邏輯上非常一致,才能最有效地使用它們。

相關問題