Перехват исключений Yii2 в режиме консоли - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь добавить блоки с ошибками в мое консольное приложение.

В частности, например, у меня есть блок кода SQL,

$query = "SELECT * FROM
          visits_column_maps";
$mapsAry = Yii::$app->db->createCommand($query)->queryAll();

Если что-то идет на юг, генерируется исключение, и сценарий заканчивается.

Я бы хотел поймать это и закончить на моих условиях.

Я попробовал блок try / catch;

try {
    $query = "SELECT * FROM
              visits_column_maps";
    $mapsAry = Yii::$app->db->createCommand($query)->queryAll();
} catch(Exception @e) {
    // graceful exit here
    echo "Exception caught";
    exit();
}

но при тестировании путем изменения имени таблицы я все равно получаю завершение скрипта до его перехвата.

Полагаю, мне может понадобиться настроить конфигурацию где-нибудь, но я не совсем уверен, где.

Спасибо за предоставленную помощь. Скотти

1 Ответ

0 голосов
/ 06 ноября 2018

вам нужно использовать \Exception вместо Exception

try {
    $query = "SELECT * FROM
              visits_column_maps";
    $mapsAry = Yii::$app->db->createCommand($query)->queryAll();
} catch(\Exception $e) {
    // graceful exit here
    echo "Exception caught";
    exit();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...