0
因此,我有一個命令(1)調用另一個命令(1)(命令1和命令2從此處開始)。但是,如果命令2引發異常,由於某種原因它不能被命令1捕獲。Laravel 5.2 - 處理在命令中調用的命令的例外
有誰知道如何處理「command-ception」上的異常?
這裏是我的代碼:
public function handle()
{
$this->client = $this->argument('client');
try {
// Create database
$this->createClientDatabase();
$this->call('migrate', [
'--database' => $this->client,
'--path' => 'database/migrations/aca',
]);
// Import the information into the tables
} catch (Exception $e) {
$this->dropClientDatabase();
}
}
爲了澄清,我創建了一個數據庫和動態連接,但如果事情上的遷移調用失敗,我結束了一個空數據庫,沒有辦法趕上錯誤。如果在$this->call()
內發生了什麼,它就會死亡,並且不會繼續處理命令1.
可以共享這兩個命令處理文件的基本結構 –
migrate只是laravel的內置命令 –
其餘命令只是實現細節,並不涉及我的問題。 –