anonymous@RULINUX.NET~# | Last login: 2024-11-17 00:57:25 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Talks | [RSS] |
Как вы обрабатываете исключения?
Я не люблю передавать исключения дальше по вызову. Сначала я делал так (для примера):
AMUR-WOLF(*) (2018-03-17 04:34:05)
Отредактировано AMUR-WOLF по причине "не указана"
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0
|
|
|
Скрыть
Re:Exception>сделал специальное диалоговое окно
Dr.uid(*)(2018-03-17 10:35:51)
Отредактировано Dr.uid по причине "не указана" Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0 |
Скрыть
Re:ExceptionПоясните для Си-нациста, что отлавливает данная конструкция, если проверка на не-NULL и пустую строку происходит явно? |
Скрыть
Re:ExceptionПиздец Амур, ты же вроде как тут нам показывал системные подходы в проживании своей жизни))) И поэтому я собственно удивлен, что ты так и не прочитал, что же такое исключения и для чего они нужны))) anonymous(*)(2018-03-17 15:07:48)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36 |
Скрыть
Re:Exception> Поясните для Си-нациста, что отлавливает данная конструкция, если проверка на не-NULL и пустую строку происходит явно?
на то отлавливаться будут еще и такие вещи, как истощение свободного места в куче, с чем я столкнулся впервые в прошлую пятницу вечером и сейчас читаю статьи, почему в java сборщик мусора не всегда вычищает объекты, которые мне больше не нужны. Блин, накосячил я... Но у нас все думают, что сборщик мусора умен и всё чистит, а профилировщиками никто не пользуется и дампы никогда не делает. AMUR-WOLF(*)(2018-03-17 15:10:43)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0 |
Скрыть
Re:Exception> Поясните для Си-нациста, что отлавливает данная конструкция, если проверка на не-NULL и пустую строку происходит явно?
anonymous(*)(2018-03-17 15:17:28)
Mozilla/5.0 (X11; Fedora; Linux i686; rv:58.0) Gecko/20100101 Firefox/58.0 |
Скрыть
Re:Exception> И смотри что, на 13 студенте у тебя случилось что-то плохое и ты вернул NULL. Дальше уже продолжать нет смысла, гарантировано Васей ты уже не пересчитаешь. Что ты будешь делать в своем случае? Как минимум будешь проверять всех на != NULL, потом что список у тебя без NULL. Верно?
И не надо мне проверять весь список по завершению его заполнения. То есть чуть что, я возвращаю null из любого места в методе, если в этом месте можно возбудить exception. AMUR-WOLF(*)(2018-03-17 15:23:03)
Отредактировано AMUR-WOLF по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0 |
Скрыть
Re:Exception> А если заменить catch (Exception e) на catch (Throwable t)
anonymous(*)(2018-03-17 15:26:43)
Mozilla/5.0 (X11; Fedora; Linux i686; rv:58.0) Gecko/20100101 Firefox/58.0 |
Скрыть
Re:Exception> А в настоящем времени на чем оно валится и ты ожидаешь по сотне репортов в день?
AMUR-WOLF(*)(2018-03-17 15:35:59)
Отредактировано AMUR-WOLF по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0 |
Vasily(*)(2018-03-19 08:54:19)
Mozilla/5.0 (X11; FreeBSD) AppleWebKit/602.1 (KHTML, like Gecko) QupZilla/1.8.9 Version/9.0 Safari/602.1 |
Скрыть
Re:ExceptionЗаменять exception на NULL -- явно неудачная идея. Ошибки возникают внутри make-request (тут не показано) при невозможности скачать картинку. Далее, даунлоадер предоставляет стратегии исправления ошибок (пропуск треда, пропуск файла, повтор попытки). handle-conditions выбирает нужную стратегию в зависимости от ошибки (выбрать один из рестартов или вывалиться в интерактивный отладчик), а также печатает какую-либо осмысленную инфу об ошибке. Наконец, в download-images мы связываем обработчик ошибок handle-conditions с функцией скачивания. Если заменять condition на простое значение (NULL), теряется весь смысл какого-то особого мехазизма обработки ошибок. Получается что-то в роде C с кодами ошибок Vasily(*)(2018-03-19 09:10:33)
Mozilla/5.0 (X11; FreeBSD) AppleWebKit/602.1 (KHTML, like Gecko) QupZilla/1.8.9 Version/9.0 Safari/602.1 |
|
|
|
Этот тред читают 7 пользователей: |
Анонимных: 7 Зарегистрированных: 0 |
Re:Exception
Всё, что отправляется в консоль, сохраняется в логах. Логи тоже копируются в отчет
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0