За последние 24 часа нас посетили 23628 программистов и 1661 робот. Сейчас ищут 903 программиста ...

Исключения PHP 7

Тема в разделе "PHP для новичков", создана пользователем machetero, 26 сен 2016.

  1. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Вообщем поставил я себе php 7 из нового опенсервера(да мне стыдно в этом признаваться:() и решил протестить исключения движка. Тобишь вместо ошибок теперь должны исключения вылетать. Но у меня try catch'ем не перехватывается ничего, вылезают обычные сообщения о parse error как раньше. Что делать ?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @machetero ошибки уровня Fatal раньше не могли быть исключениями, есть инфа что в седьмой версии это изменилось?
     
  3. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    [vs] ты хочешь сказать что только fatal теперь преобразуются ?
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @machetero что именно ты делаешь?
     
  5. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    ну я думал поставить exception_handler и выводить красивую страничку для исключений и ошибок, которые тоже типа сейчас исключения
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нет, у тебя спросили "а как ты ошибку генеришь?" Ошибка уровня parse_error это не то, что может быть перехвачено скриптом, потому что сам скрипт не будет запущен.
     
  7. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    yii2 с этим справляется, даже и на php 5 справлялся
    upload_2016-9-26_17-23-35.png
    Видимо зависит от того, где обработчик находится, в том же файле, где ошибка, или в другом
    --- Добавлено ---
    @machetero Вот так должно работать:
    PHP:
    1. try
    2. {
    3. include'parse-error.php';
    4. }
    5. catch(ParseError$e)
    6. {
    7. // parse error!
    8. }
     
  8. machetero

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

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Про парс эррор не знал. Пробовал только парс эррор и деление на ноль(это ворнинг)
    --- Добавлено ---
    да я знаю про их эррор хэндлер, но реализацию его я так и не изучил, я решил начать пользоваться пхп7
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    та да! http://php.net/php_check_syntax
     
    mahmuzar и Fell-x27 нравится это.
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    (PHP 5 <= 5.0.4)

    мм
    вроде как обещали что все-все ошибки теперь наследуются от тровабл, и эксепшены наследуются от тровабл, и соотв. можно тровабл эти ловить.