За последние 24 часа нас посетили 22748 программистов и 1268 роботов. Сейчас ищут 793 программиста ...

Обработка ошибок

Тема в разделе "Прочие вопросы по PHP", создана пользователем Luge, 27 окт 2007.

?

Как вы обрабатываете ошибки

  1. везде ставлю собаку

    0 голосов
    0,0%
  2. set_error_handler и trigger_error

    0 голосов
    0,0%
  3. исключения

    0 голосов
    0,0%
  4. своё

    0 голосов
    0,0%
  1. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Ни для кого не секрет, что ошибки в приложении надо как-то обрабатывать.
    Самый простой, да и наиболее часто встречающийся у новичков способ — подавлять ошибки с помощью @.
    Предусмотрееный разработчиками php способ — создать собственный обработчик, используя set_error_handler.
    Третий, довольно распространённый, — исключения.
    И последний — ошибки, генерируемые интерпретатором, пишутся в лог (определяемому с помощью error_log), а предусмотренные при разработке выводятся с помощь чего-нибудь вроде die('Ошибка такая-то');

    А как вы обрабатываете ошибки?
     
  2. Dagdamor

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

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Звучит банально, но надо стараться писать код так, чтобы ошибок не возникало.
    А ситуации типа "неверный пароль", "мало денег на балансе", "CURL вернул пустую строку" - это не ошибки вовсе, это вполне штатные ситуации, которые надо обрабатывать не механизмами обработки ошибок, а логикой приложения.
     
  3. Anonymous

    Anonymous Guest

    Звучит данально, но не все всегда зависит от приложения.

    ЗЫ. trigger_error забыл, в довесок к еррор-хендлеру.
     
  4. host

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

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    интересно, кто проголовал за первый пункт ?
    Ну почему, можно ведь прописать error_reporitng(0), вместо того чтобы писать собаки (Это для новичков) :)
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    использование его в паре и подразумевалось. :) Поправил.

    Dagdamor, это вполне нормальные ситуации, которые отлично разруливаются ещё на уровне проектировки, а вот, например, в пресловутых классах работы с mysql
    PHP:
    1. <?php
    2. or die('Error ' . mysql_error());
    3. ?>
    сообщение абсолютно неинформативно. Тут-то как раз обработчики и приходят на помощь.
     
  6. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    +1
     
  7. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Правильно приготовленные Exceptions рулят :)
    Правда я бы не юзал их глобально для всего приложения, а вот в пределах модулей - да :)
     
  8. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Luge, поэтому такими классами никто не пользуется. :)