首页 > 解决方案 > Laravel 捕获 Artisan:调用异常

问题描述

我想捕捉错误表单Artisan::call()方法。例如,如果我在表中没有数据migrations并且当我运行时我在日志文件中Artisan::call('migrate:make');得到错误。 Base table or view already exists: 1050 Table 'users' already exists

我尝试使用try catch,但它不起作用。

            try {
                Artisan::call('migrate:make');
            } catch (Exception $e){
                report($e);

                Mail::to(config('mail.supportEmail'))->send(new UserProblemMail($data, "Migrate error"));

                return response()->json([
                    "message" => "Error occured. Suport team will contact with you."
                ], 500);
            }

如何正确执行此操作?

标签: phplaravelerror-handlingtry-catchlaravel-artisan

解决方案


您可以使用此命令来捕获输出:

Artisan::call('migrate:make');
dd(Artisan::output());

推荐阅读