尝试使用自定义异常:
namespace App\Exceptions\Cloud;
use Exception;
class CantConfirmOrder extends Exception
{
public function report()
{
info('test exception');
}
}
但当我把它扔到修补匠-没有写日志:
>>> throw new CantConfirmOrder('test');
[!] Aliasing 'CantConfirmOrder' to 'App\Exceptions\Cloud\CantConfirmOrder' for this Tinker session.
App\Exceptions\Cloud\CantConfirmOrder with message 'test'
Handler.php:
public function report(Throwable $exception)
{
parent::report($exception);
}
我需要用try catch手动调用report()吗?我想当我抛出时会自动调用它。
1条答案
按热度按时间v8wbuo2f1#
在HTTP请求的上下文中,路由将拾取此错误并调用report方法。因此,如果您在Controller方法或其他路由操作中抛出错误,则应调用它。您可以在以下测试中尝试:
调用该方法的Route类/方法为
https://laravel.com/api/9.x/Illuminate/Routing/Pipeline.html#method_handleException