2013-03-01 50 views
0

我目前正在構建一個獨立的PHP類來包裝我的公司工作的項目類型的一些自定義代碼的Instagram API。在我開發我的代碼時,我經常發現自己寫這樣的經文:獨立的PHP類應該拋出異常嗎?

if (!$this->accessToken) 
    throw new Exception("Instagram: Access Token can't be NULL", 1); 

這是不好的做法?如果是這樣,那麼對於這些​​情況的推薦方法是什麼?

+0

爲什麼你認爲獨立的php類不應該拋出異常?我認爲你的例子很好 – Kossel 2013-03-01 14:51:33

+0

@Kossel我的問題是要求一個更好的方法來處理這些情況,如果有的話。如果拋出異常很好,我也可以。 – 2013-03-01 16:44:13

+0

我知道,這是一個很好的做法。其實@ajshort張貼了我想說的所有笑話。 :) – Kossel 2013-03-01 17:04:40

回答

4

這是一個很好的做法,因爲它允許人們使用你的庫來正確處理錯誤。發生例外情況時拋出異常總是個好主意(例如重要值爲空)。

我可以建議使用更具體的異常類的唯一改進。對於這種情況,您可能想要拋出一個InvalidArgumentExceptionUnexpectedValueException。使用更具體的例外類意味着人們可以在catch塊中更具體地檢查該類別。對於更復雜的應用程序來說,定義自己的異常類來處理特定的異常類型是個好主意。

此外,如果您註釋的方法拋出異常@throws標籤對於使用IDE的人非常有幫助。