Видео с DevConf 2014 - Соб@чники против ...

confguru

ExAdmin
Команда форума
Тема собаки, великого и ужасного оператора @, обсуждалась так бурно, что собрала вокруг несколько десятков человек. Даже грохот музыки из колонок на сцене не помешал святой войне.

В 2012 дискуссия осталась незаконченной, каждая из сторон осталась при своем мнении, и перехода на личности не случилось.

Тема далеко не так проста, как кажется на первый взгляд. Масса исключительных ситуаций и подводных камней и дает сильные аргументы каждой из сторон.

Сейчас я прошу своих друзей участников вернуться, продолжить, вынести этот вечный вопрос на большую сцену на DevConf 2014. Приглашаю коллег выступить на стороне одной из команд.

Сделаем Talk-шоу! 5-10 минут каждой стороне для обоснования почему собаки - хорошо, а затем - почему их надо убивать.


Видео (~ часа холивара!)
http://devconf.ru/news/detail/29
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Сейчас я прошу своих друзей участников вернуться, продолжить, вынести этот вечный вопрос на большую сцену на DevConf 2014.
Я про кусок этот писал, тут должно быть 2015.

Я пока не знаю =( Хотелось бы.
 

AnrDaemon

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

AmdY

Пью пиво
Команда форума
ага, в том и дело, что собака хорошо смотртся, если при этом обрабатывается ошибка

PHP:
if (!@unlink($file)) {
    throw new ExceptionUnlink('невозможно удалить файл: ' . $file);
}
 

Sam Dark

Новичок
Я всеми руками за исключения, но ради обратной совместимости они ещё не скоро будут. В примере выше, к сожалению, никак не узнать, из за чего именно не сработал unlink.
 

Welcome

Новичок
Я всеми руками за исключения, но ради обратной совместимости они ещё не скоро будут. В примере выше, к сожалению, никак не узнать, из за чего именно не сработал unlink.
Я может чего-то не понимаю, но
Код:
error_get_last()['message']
?

Не очень "красиво", но...
 

fixxxer

К.О.
Партнер клуба
Я всеми руками за исключения, но ради обратной совместимости они ещё не скоро будут.
Судя по тому, как в https://wiki.php.net/rfc/engine_exceptions_for_php7 вопрос фактически проигнорирован - никогда. :(

Хотя несложно придумать решение с сохранением BC - достаточно передавать аргументом колбэка set_error_handler тип ошибки в более-менее вменяемом виде (номер или простой строковый идентификатор, не требующий парсинга), который легко замапить на иерархию исключений.
 

AnrDaemon

Продвинутый новичок
Какой смысл конвертировать ФАТАЛЬНЫЕ ошибки в исключения?
 

AnrDaemon

Продвинутый новичок
Мне нужно пояснение. Я, видимо, чего-то не понимаю.
 

Sam Dark

Новичок
1. Вывести вместо дефолтнго экрана смерти что-то полезное: трейс, кусок кода с ошибкой и т.д.
2. Залогировать фатал в файлы, почту, базу, rollbar.
 

Вурдалак

Продвинутый новичок
Fatal'ы нужны в виде исключений примерно по тем же соображениям, что NullPointerException в Java. Если какая-то подсистема (виджет сайта, рекламный баннер, подписчик события) не работает, но это ещё не повод считать всю систему нерабочей.
 
Сверху