Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (5) « Первая ... 3 4 [5]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Работа с исключениями и trigger_error
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Я так понимаю, у тебя остался лишь один довод, понятность для новичков?


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 7 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 17 дней


chee
Он не остался. Он и был с самого начала единственным. biggrin.gif biggrin.gif

Как до вас туго доходит. Я хочу не очередной, никому не нужный, говнофреймворк собрать. Коих тысячи. Я хочу сделать учебный фреймворк. Для новичков. Потому что любой, даже микрофреймворк типа слима или силекса, начинается с замыканий, ексепшенов и контейнера с зависимостями. И прочих "высших материй". Про симфони, и иже с ней, вообще молчу. Но новичку до этого надо еще дорасти. А результатов хочется сразу. Вот тут и ниша для фреймворка. Чтобы вроде и фреймворк по всем законам, а с другой стороны почти натив.

Я еще много таких чудес наделаю) Потому что в рамках скучно уж больно.


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 9 месяцев, 3 дня
Карма: 15




Собственно, о чем и говорил. Постепенно переезжаем на исключения, как в любом современном языке программирования.

Цитата

PHP 7 changes how most errors are reported by PHP. Instead of reporting errors through the traditional error reporting mechanism used by PHP 5, most errors are now reported by throwing Error exceptions.


Цитата

This means that custom error handlers may no longer be triggered because exceptions may be thrown instead (causing new fatal errors for uncaught Error exceptions).


Цитата

Throwable
  Error
    ArithmeticError
    AssertionError
    DivisionByZeroError
    ParseError
    TypeError


http://php.net/manual/ru/language.errors.php7.php

Я больше никакой более-менее полезный кейс не могу придумать для trigger_error, кроме как с его помощью уведомлять программиста, об устаревших api методах с типом E_USER_DEPRECATED, чтобы сразу не ломать обратную совместимость в новых версиях. Но это не имеет никакого отношения к ошибкам и их обработке. Они должны базироваться на механизме исключений. Что косвенно подтверждают и разработчики интерпретатора PHP своими действиями в новом мажорном релизе.

Для новичка без разницы. Новичек не знает ни о traditional error reporting mechanism, ни о механизме исключений, ему всё пофигу. Он видит, что код который он написал, нифига не работает, независимо от того, вываливается исключение или traditional error, он просто идет и правит свой код. Он не знает, что можно кидать исключения, тем более не знает, что их можно отлавливать, не знает о пользовательских обработчиках ошибок/исключений. И ни о каком trigger_error он тоже не знает.

Скорее наоборот, когда он узнает и о том и о другом, то в голове у него будет каша и неизбежно возникнет вопрос зачем в языке два инструмента по-сути для одних и тех же целей. И почему интерпретатор в более-менее современных фичах типа PDO сыпет ошибки через механизм исключений, а нативные php функции через traditional error reporting mechanism ? Что за бред, подумает он. И ведь никакой twin ему не объяснит, что traditional error reporting mechanism - это наследие php и использовать его не стоит.

Находящиеся в сомнениях, могут посмотреть, что-нибудь еще, кроме PHP и посмотреть, на чем основаны ошибки там. Хорошим примером, может быть javascript движок V8.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 9 месяцев, 3 дня
Карма: 15




Цитата

Вот сделал он в своем catch красивую 500, как у Santehnick, а логирование не сделал.

К вашему сожалению, я не делаю в catch красивую 500. Это делается в другом месте, собственно как и логгирование. Да и делать я не буду, подтяну готовое решение, которое уже оттестировано и хорошо работает. Прошу, не нужно додумывать за меня то, о чем вы не можете знать.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 9 месяцев, 3 дня
Карма: 15




Кстати, завтра должен быть релиз PHP7. 12 ноября.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 7 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 17 дней


Santehnick
И что это меняет?
Цитата
then the exception will be converted to a fatal error and will be handled like a traditional error.


Цитата (Santehnick @ 10.11.2015 - 23:21)
И ведь никакой twin ему не объяснит, что traditional error reporting mechanism - это наследие php и использовать его не стоит.

Да я ничего объяснять и не собираюсь, в том и плюшка. Я собираюсь понизить порог вхождения, только и всего. Чтобы не пугать никого неизвестными механизмами.

Вот когда семерка станет обыденным делом, тогда и не будет необходимости в trigger_error, как сейчас в mysql_ (хотя вполне нормальный был двиг). Придется иначе выкручиваться.

А пока что подходить к исключениям надо плавно, бережно я бы сказал. Тут люди не знают, что такое страшное им написали
Цитата
Undefined variable
а ему по голове сразу
Цитата
Fatal error: Uncaught exception


Вобщем всему свое место. И если ты
Цитата (Santehnick @ 10.11.2015 - 23:21)
никакой более-менее полезный кейс не могу придумать для trigger_error
то я придумал. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Santehnick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 231
Пользователь №: 26735
На форуме: 5 лет, 9 месяцев, 3 дня
Карма: 15




Ну ок )
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (5) « Первая ... 3 4 [5]  Ответ в темуСоздание новой темыСоздание опроса