我一直在努力实现没有运气在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文件的方式来完成这项工作,而不必在每次尝试中都加入日志代码。
谢谢!