我正在從事網絡服務。嘗試catch不工作在PHP?
我在試圖捕捉錯誤。我的問題代碼是:
try
{
$query = "UPDATE Users
SET
Latitude=?,
Longitude=?,
Address=?,
LocationTimestamp=?
WHERE Id=?";
$stmt = $this->link->prepare($query);
$stmt->bind_param('ddssi', $Latitude, $Longitude, $Address, $LocationTimestamp, $Id);
$stmt->execute();
$affected_rows = $stmt->affected_rows;
}
catch(Exception $exc)
{
file_put_contents("log/error.txt",$exc->getMessage());
}
我預料,catch塊會捕獲所有錯誤,並且PHP不會在輸出中產生任何錯誤。然而 - 輸出我看到這樣的事情:
警告:在 /srv/webservice/server.php創建默認的對象從空值就行
我想避免輸出任何HTML,因爲這是Web服務,我在客戶端有JSON解釋器。
我的問題是:
如何調試服務這樣的,當我必須PHP輸出進不去?我想將所有錯誤,警告等重定向到文件。
也許還值得一說的是,你可以打開輸出緩衝,然後使用'error_get_last()'來獲得如果發生了最後的錯誤。並將警告轉換爲異常,這可能是相關的:http://stackoverflow.com/q/1241728/3933332 – Rizier123