我在課堂上有各種功能。在每個函數中,我使用try ... catch。有什麼辦法可以簡化嗎?我想創建一個錯誤類,它必須可以從我的項目中的任何文件訪問。我不想在每個函數中使用try..catch,而應該將其自動定向到Error類。避免多次嘗試... catch塊
0
A
回答
1
我不在函數本身中添加try catch,而是在函數被調用的頁面中添加try catch。
如:
try
{
$faq_title = mysqli_real_escape_string($link, $_POST['faq_title']);
$faq_subtitle = mysqli_real_escape_string($link, $_POST['faq_subtitle']);
$desc = mysqli_real_escape_string($link, $_POST['desc']);
$faq_e = new Shopadmin();
$faq_e->add_faq($faq_title, $faq_subtitle, $desc);
$feedback = "<div class='succes'>FAQ added succesfully!</div>";
}
catch(Exception $e)
{
$feedback = "<div class='error'>";
$feedback .= $e->getMessage();
$feedback .= "</div>";
}
,並在我的功能我檢查如果查詢成功地或者不這樣做,如果不是我拋出一個新的異常,將被獲取,並存儲到$反饋,我回聲出的主要容器分區。
這種方式,你可以調用不同的功能withouth的有添加的嘗試捕捉每個功能
我希望這可以幫助你
0
註冊一個全局異常捕獲器。這個函數將捕獲任何未捕獲的異常。您應該像使用register_session那樣做,也就是在每個頁面中包含的某個文件中,以便它可以在整個網站上運行。
參見:http://php.net/manual/en/function.set-exception-handler.php
但請注意,你不能從這樣的異常中恢復(你不能處理錯誤並繼續)。
-1
基本上這是一個要求,幾乎所有的項目,因爲他們變得更大。解決方案是創建一個錯誤處理模塊。你可以從頭創建一個或使用已有的真棒模塊,如ELMAH。
1
相關問題
- 1. R嘗試catch塊
- 2. 如何避免重複嘗試塊
- 3. 嘗試catch塊不工作
- 4. Groovy'with'closure重複嘗試catch塊?
- 5. js巢嘗試在catch塊
- 6. 例外。嘗試 - catch塊
- 7. 檢查參數,以避免try..catch塊(?)
- 8. 避免嵌套的try-catch塊
- 9. 嘗試/趕上,以避免.stackdump
- 10. catch塊多次運行InputMismatchException
- 11. 我可以結合嘗試catch塊嗎?
- 12. 嘗試在PHP 5.3.5 Catch塊不工作
- 13. 嘗試catch塊或布爾標誌?
- 14. 「嘗試... catch」塊不parseInt函數()工作
- 15. 嘗試catch塊導致無限循環?
- 16. 避免多次點擊
- 17. javascript避免多次呼叫
- 18. 避免多次加入
- 19. 試圖避免兩次讀取文件
- 20. 嘗試使用cURL避免ASP.NET會話
- 21. 在嘗試catch塊中未捕獲多個IOException子類
- 22. 避免多次編碼循環一次
- 23. 如何避免多次聲明中angularoutes
- 24. scrapy:另一種方法,避免了很多的嘗試,除了
- 25. 避免多次點擊一個按鈕
- 26. 如何避免在catch塊中寫入重複的代碼?
- 27. 我能避免這種繁瑣的try ... catch塊
- 28. 避免加載jQuery的多次
- 29. 多次實施嘗試
- 30. 避免在我的網頁中嘗試/抓住地獄
ELMAH爲ASP.net,我們所談論的PHP這裏 – Palantir 2009-11-06 10:58:17
哎呀,我的壞,只是匆匆的血。 – theraneman 2009-11-20 11:26:17