Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Самогонщик, о пределах одной функции речи не идет. Весь разговор начался с спора о том, может ли функция в разных случаях возвращать разные результаты. Ф-я, которая должна вернуть объект, в случае неудачи, возвращает сообщение об ошибке или false, а в каких-то еще случаях еще бог знает что. Я Людлей уверяю, что строгая типизация, четкий api и в случае ошибок exception - это единственный нормальный алгоритм работы между библиотеками и функциями, caballero вот уже 4-ю страницу пытается убедить в обратном. Я устал с ним спорить, но как-то джалко новичков, наслушавшихся говно-советов и программирующих как непойми кто.
DlTA
Отправлено: 31 Октября, 2011 - 09:46:46
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
в какой то теме на вопрос "как запомнить функционал" мне ответили "хорошая IDE"
а в случае с исключениями, где должны быть созданы все классы исключений
если учесть что из принцыпа "я не знаю как будет испльзоваться мой класс/метод"
то вполне возможной будет ситуация проверки на класс исключений который еще небыл объявлен.
DeepVarvar
Отправлено: 31 Октября, 2011 - 09:49:44
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Stierus, хорошо, я со своими 9-ю классами чего-то там "петрю".
Ответьте на вопрос:
Почему профессионалы окончившие высшие учебные заведения в 98% случаев пишут без try catch throw???
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
DeepVarvar, кто вам такое сказал ? (Добавление)
Я сижу в отделе, со мной рядом 20 программистов - мы используем исключениея, новые библотеки для php (хоть тот же PDO) бросают исключения, фреймворки все крупные (symfony, Yuii, Zend) - в них тоже везде используются исключения ... на гитхабе крупные проекты посмотрите. Но вам кто-то говорит, что их никто не использует, лажа это все ...
DeepVarvar
Отправлено: 31 Октября, 2011 - 09:56:57
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Никто не сказал. Давайте создадим отдельный топик в котором все отпишут кто что закончил.
Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011
Помог: 8 раз(а)
Stierus пишет:
exception - это единственный нормальный алгоритм работы между библиотеками и функциями
Подтверждаю.
DeepVarvar пишет:
Почему профессионалы окончившие высшие учебные заведения в 98% случаев пишут без try catch throw
А я бы разделял библиотечный код и самописный, а то рамки дискуссии слишком широкие.
Вот такой вам пример, я вызываю метод, который уж точно завалиться не должен, т.к. я подал ему правильные данные и следовательно не обрабатываю не фальш не исключение. Вопрос: вы бы желали чтобы метод возвращал коды ошибок (фальш) или исключение?
DeepVarvar
Отправлено: 31 Октября, 2011 - 10:11:10
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Желал бы. (Добавление)
Но опять не понятно - одни говорят да, другие - нет.
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Думалось - закрыть или нет тему. Но попросили не закрывать ввиду интереса. Одна просьба - воздерживаемся от сообщений не по теме
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Самогонщик
Отправлено: 31 Октября, 2011 - 10:21:27
Посетитель
Покинул форум
Сообщений всего: 495
Дата рег-ции: Окт. 2011
Помог: 8 раз(а)
DeepVarvar пишет:
Желал бы.
Хм, на вопрос с "или" нельзя отвечать "да" или "нет", нужно выбрать один из вариантов, или, на крайний случай, предложить свой.
DeepVarvar
Отправлено: 01 Ноября, 2011 - 05:40:55
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Самогонщик пишет:
"да" или "нет"
Желал бы чтобы возвращались либо результат, либо null (иногда, где нужно false).
А в лучшем случае, метод, передавая результат далее не завершался бесповоротно ексепшном.
Даже сам интерпретатор выдает ошибки по цепной реакции, а не только первый "спотык".
Кстати, я в споре не участвовал. Мне так же интересно как и для DITA - что же всетаки правильнее.
Максимум, что я делал, это поддакивал то одной стороне, то другой.
Кроме того написал пример кода без эксепшнов, то что хотел видеть Stierus.
Ну и???
Stierus пишет:
но как-то джалко новичков, наслушавшихся говно-советов и программирующих как непойми кто
И это все???
Тогда пусть пишет оппонент, что я в самом деле? Так еще и на меня нападают.
Stierus пишет:
caballero
Вот caballero пусть и напишет свой пример без эксепшнов, либо подтвердит/изменит мой.
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
DeepVarvar, мне нужно было, что бы в зависимости от ошибки - была разная реакция, что бы на ошибку бд отправлялось письмо, на запрос к несуществующему пользователю создавалась запись в лог, и лишь на неверные пользовательские данные, показывалась вьюшка с ошибкой ... в вашем коде я этого не вижу, поэтому и не комментирую (вы не выполнили то, что я просил).
DlTA
Отправлено: 01 Ноября, 2011 - 10:06:28
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
DeepVarvar пишет:
Мне так же интересно как и для DITA - что же всетаки правильнее.
для меня на данный момент стоит вопрос не сколько в выборе правильного решения сколько в способах реализации
до дня создания темы я как наверное и большинство всю обработку вел внутри
напроч забыв об исключениях (как говорил наш препод "незнав та ще й забув")
показали, частично объяснили, но для меня вопрос все же еще не закрыт
со стороны вроде все удобно и просто
обработала->результат
глюк->исключение
но как управлять всей это махиной в рамках всего проекта
а именно: хотелось бы увидеть не код а скорее блочную схему работы проекта с исключениями, при работе с множеством классов;
насколько глубоко проваливаются по стеку, и какие, и где удобней ловить.
Stierus
Отправлено: 01 Ноября, 2011 - 10:16:56
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Исключения - они разные, это не 1 класс Exception, это несколько уровней унаследованных от него классов, сколько уровней, какие эксепшены, сколько их, как именовать, где хранить, как подгружать - это решается в зависимости от проекта, никто не даст универсальную схему. В крупных популярных cms уже заложены принципы работы с исключениями - скачайте хотя бы symfony и почитайте доки по ней, как разработчики рекомендуют делать.
DeepVarvar
Отправлено: 01 Ноября, 2011 - 10:28:47
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Stierus пишет:
была разная реакция, что бы на ошибку бд отправлялось письмо, на запрос к несуществующему пользователю создавалась запись в лог, и лишь на неверные пользовательские данные, показывалась вьюшка с ошибкой
Так и есть, в коде пример разбора только одного типа ошибки.
На деле написано несколько видов обработчиков и в зависимости от ошибки вызывается тот или иной обработчик, без эксепшнов, а таким вот методом, как в примере.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.