За последние 24 часа нас посетили 22583 программиста и 1058 роботов. Сейчас ищут 722 программиста ...

Исключения и Laravel - не пойму

Тема в разделе "Laravel", создана пользователем xintrea, 12 апр 2019.

  1. xintrea

    xintrea Активный пользователь

    С нами с:
    25 фев 2019
    Сообщения:
    68
    Симпатии:
    0
    Не пойму, почему не работают исключения.

    Пишу такой код:

    Код (Text):
    1.  
    2. try {
    3.   $phone=UserChannels::where('user', Auth::user()->id)->where('channel_type', $phoneTypeId)->first()->value;
    4. } catch (Exception $e) {
    5.   $phone='';
    6. }
    По идее, при любой ошибке он должен просто сделать $phone=''.

    Но вместо этого Laravel показывает ошибку на длинной строке:

    Код (Text):
    1.  
    2. ErrorException (E_NOTICE)
    3. Trying to get property of non-object
    Вопрос: почему Laravel ловит исключение, а не блок catch{} ?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    А
    PHP:
    1. use \Exception;
    написал?

    И ErrorException не ловятся, кстати, через Exception, по-моему. Там вроде они параллельное дерево создали. Нужно ловить \Trowable. И это не Laravel, это PHP 7, если что
     
    artoodetoo нравится это.