我一直在努力實現沒有運氣在Laravel 5.3一些自定義的例外。Laravel自定義異常配置
我創建了一個擴展Exception類的AppException。這個想法是,我想附加一個用戶到我的例外,所以我知道誰絆倒它,並可以記錄它。
所以我建立了我的自定義異常這樣的:
class AppException extends Exception{
protected $userId;
public function __construct($message = '', $userId=0)
{
parent::__construct($message);
$this->userId = $userId;
}
}
現在我想的是使用嘗試捕捉在我的控制器功能,然後捕獲異常,然後重新拋出的應用程序異常,所以我可以附加用戶。就像這樣:
try{
<< code here >>
}
catch(Exception $e){
throw new AppException($e->getMessage, $request->user()->id);
}
我所發現的是,我無法獲得良好的跟蹤堆棧,因爲我從我的異常記錄行是從重新拋出的搭上了線,而不是從實際的異常。
什麼是設置此正確的方式?我試圖以一種可以利用Laravel附帶的Handler.php文件的方式來完成這項工作,而不必在每次嘗試中都加入日誌代碼。
謝謝!