众所周知,laravel有一个强大的artisan控制台,可以在命令行运行内置服务以及自定义脚本。默认情况下,通过artisan启动的服务,如果遇到错误,则程序会中断,直接输出错误信息并记录日志。但是关于如何自定义错误处理逻辑,官方文档未曾提及(个人使用5.5,在异常处理文档中并未看到,只有通过http访问的异常处理)
比如我希望发生异常时发送一个通知,然后再进行默认的处理
翻阅源码,发现 App\Exceptions\Handler 中有用于处理控制台异常的方法 renderForConsole,重写即可
若无必要,莫覆盖 parent::renderForConsole,也不要提前 return,否则默认的处理逻辑就没了
网友评论