Зачем закрывать программу после ошибки?
От: Shmj Ниоткуда  
Дата: 17.01.17 16:15
Оценка: -2 :))
Вот сейчас юзали прогу из Windows Store. Windows 10. Gismeteo называется.

Куда то исчез город, один из избранных. При попытке его добавить -- тупо закрывается без объяснений.

Причем не первый раз вижу такое поведение в разных программах.

Ну зачем такое делать?

Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?
Отредактировано 17.01.2017 16:15 Shmj . Предыдущая версия .
Re: Зачем закрывать программу после ошибки?
От: alpha21264 СССР  
Дата: 17.01.17 16:23
Оценка: +3 -1
Здравствуйте, Shmj, Вы писали:

S>Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?


Не знаешь, что такое Segmentation Fault?

Течёт вода Кубань-реки куда велят большевики.
Re[2]: Зачем закрывать программу после ошибки?
От: Ops Россия  
Дата: 17.01.17 16:41
Оценка: +2 :)
Здравствуйте, alpha21264, Вы писали:

A>Не знаешь, что такое Segmentation Fault?


А там точно оно? Твое что ли творение, раз знаешь?
Куда больше вероятность, что какое-то другое исключение не отловлено.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Зачем закрывать программу после ошибки?
От: Shmj Ниоткуда  
Дата: 17.01.17 16:55
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Не знаешь, что такое Segmentation Fault?


Дядя, 2017 год на дворе. Приложение на управляемом .Net коде, которое к памяти обратиться не может.

Приложение всего лишь получает через HTTP REST -api данные и выводит на экране. Все.
Re: Зачем закрывать программу после ошибки?
От: night beast СССР  
Дата: 17.01.17 17:01
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот сейчас юзали прогу из Windows Store. Windows 10. Gismeteo называется.


S>Куда то исчез город, один из избранных. При попытке его добавить -- тупо закрывается без объяснений.


S>Причем не первый раз вижу такое поведение в разных программах.


S>Ну зачем такое делать?


S>Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?


это точно для философии тема?
Re: Зачем закрывать программу после ошибки?
От: fmiracle  
Дата: 17.01.17 17:16
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?


Именно потому, что где-то не отловили ошибку, оно и закрывается.
Re: Зачем закрывать программу после ошибки?
От: Sinix  
Дата: 17.01.17 17:52
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Ну зачем такое делать?

Потому что альтернатива — на неотловленном исключении молча продолжать выполнение — ещё хуже.

S>Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?

Feedback-то авторам написал? По времени — как пост накатать, а пользы всяко больше.
Re[3]: Зачем закрывать программу после ошибки?
От: Alexander G Украина  
Дата: 17.01.17 18:27
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Дядя, 2017 год на дворе. Приложение на управляемом .Net коде, которое к памяти обратиться не может.


Но старый добрый Stack Overflow по-прежнему валит приложение
Русский военный корабль идёт ко дну!
Re[3]: Зачем закрывать программу после ошибки?
От: alpha21264 СССР  
Дата: 17.01.17 19:06
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, alpha21264, Вы писали:


A>>Не знаешь, что такое Segmentation Fault?


S>Дядя, 2017 год на дворе. Приложение на управляемом .Net коде, которое к памяти обратиться не может.

S>Приложение всего лишь получает через HTTP REST -api данные и выводит на экране. Все.

Ну, во-первых ты про "управляемый код" не сказал.
Во-вторых, это не панацея.
В-третьих, программист должен глазами различать ситуацию,
когда программа сама закрылась и когда её операционка убила.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Зачем закрывать программу после ошибки?
От: alpha21264 СССР  
Дата: 17.01.17 19:09
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, alpha21264, Вы писали:


A>>Не знаешь, что такое Segmentation Fault?


Ops>А там точно оно? Твое что ли творение, раз знаешь?


Нет, мне из ЦРУ доложили.

Ops>Куда больше вероятность, что какое-то другое исключение не отловлено.


Ну, про вероятности не скажу.
Но имею мнение, что ловить исключения поодинчке — это как-то глупо.
Нужно ставить обработчик на все.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: Зачем закрывать программу после ошибки?
От: Географ Россия нет
Дата: 18.01.17 08:26
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Нужно ставить обработчик на все.


Сервер на Java. Для большого портала гос.конторы. Около 200 различных форм.
До того, как поставил обработчик на всё, пользователю возвращались простые и спокойные белые экраны.
Нарекания приходили редко.
После установки стали валиться заявки на то, что "обнаружено неучтённое прерывание".
С одной стороны полезно — пользователь участвует в отладке.
С другой стороны, нарекания начальство не любит.
Уже были разговоры типа — убери ты перехват прерываний, спрячь от пользователя ошибки!

P.S. Исправляя старые ошибки, мы создаём новые))) (Шутка!)
прерывание ошибка страниц обработка событий обработка ошибок обработчик события
Re: Зачем закрывать программу после ошибки?
От: kov_serg Россия  
Дата: 18.01.17 08:42
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Причем не первый раз вижу такое поведение в разных программах.

Используемый runtime этому способствует.

S>Ну зачем такое делать?

Самое интересное что и разработчик такого поведения не ожидает. Оно само так получается
Re: Зачем закрывать программу после ошибки?
От: Privalov  
Дата: 18.01.17 09:49
Оценка: :))) :)
Здравствуйте, Shmj, Вы писали:

S>Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?


Эхх, то ли дело в старые добрые. Поставил on error resume next в начале каждой функции, и вообще ничего делать не надо. Программа никогда не упадет.
Re[3]: Зачем закрывать программу после ошибки?
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.01.17 12:31
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Дядя,


у вас там "дядя" общепринятое обращение? И ВовкаМорковка постоянно это слово использует.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Зачем закрывать программу после ошибки?
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.01.17 12:33
Оценка: +2
Здравствуйте, Sinix, Вы писали:

S>>Ну зачем такое делать?

S>Потому что альтернатива — на неотловленном исключении молча продолжать выполнение — ещё хуже.

А зачем "молча"?

Можно же выдать окошко "Случилось страшное. Текст исключения: ..." и пусть юзер сам принимает решение перезапустить приложение или попытаться продолжить.

Часто бывает, так что вылет в неважной функции и он не критичен, а схлопывается все приложение.

Вот если сервер, то может логика задампиться и упасть и не плоха. А для гуи-приложения — это плохая идея.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Зачем закрывать программу после ошибки?
От: pik Италия  
Дата: 20.01.17 12:39
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>у вас там "дядя" общепринятое обращение? И ВовкаМорковка постоянно это слово использует.

я тоже заметил, но выводы другие сделал
Re[3]: Зачем закрывать программу после ошибки?
От: pik Италия  
Дата: 20.01.17 12:46
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>А зачем "молча"?

VD>Можно же выдать окошко "Случилось страшное. Текст исключения: ..."
+1
VD>и пусть юзер сам принимает решение перезапустить приложение или попытаться продолжить.
а тут уже разработчику из кода виднее, есть ли шанс и стоит ли дальше. если ошибка критическая
и после неё нет смысла то лучше таки да показать ошибку и оставить одну кнопочку юзеру — ок

а вообще конечно это признак некачественного софта ибо такая ошибка да ещё не отловленная
это точно ошибка программирования.
Re: Зачем закрывать программу после ошибки?
От: pik Италия  
Дата: 20.01.17 12:54
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот сейчас юзали прогу из Windows Store. Windows 10. Gismeteo называется.

S>Куда то исчез город, один из избранных. При попытке его добавить -- тупо закрывается без объяснений.
S>Причем не первый раз вижу такое поведение в разных программах.
S>Ну зачем такое делать?
S>Ну отлови ты, дурень, ексепшен. Сделай, дурень, ролбек если нужно. Ну выведи сообщение что операцию выполнить не удалось. Но закрывать то, дурень, зачем?

приложения в Windows Store рассчитаны в основном на мобильные устройства , где ты там ошибки показывать будешь?
ну и задумано было так и по вроде как стандару мс в случае такой ошибки оно должно просто заново стартовать.
Ибо для всего мусора из Store совсем безпроблемно в случaе критической ошибки новый старт сделать.
последнее предложение думаю в тему т.е про философию
Re[4]: Зачем закрывать программу после ошибки?
От: alpha21264 СССР  
Дата: 20.01.17 13:02
Оценка: :))) :)
Здравствуйте, VladD2, Вы писали:

VD>у вас там "дядя" общепринятое обращение? И ВовкаМорковка постоянно это слово использует.


Это они таким образом признают моё интеллектуальное превосходство.
Скоро я для них стану "святой отец".

Течёт вода Кубань-реки куда велят большевики.
Re[2]: Зачем закрывать программу после ошибки?
От: Andrew.W Worobow https://github.com/Worobow
Дата: 20.01.17 16:28
Оценка:
Здравствуйте, night beast, Вы писали:

NB>это точно для философии тема?


Вы про саму тему изначально, или только под-тему?

По вопросу — вы даже себе не представляете насколько это философская тема! (три!!!).
Вы не поверите, батлы а "надо ли валить ядро, при ошибке", до сих пор мне во сне всё еще сняться. ))

==
"Валить" приложение по ошибке _надо_ — ибо непредсказуемое поведение. То есть — иначе "ракета может и нечайно получить команду на старт".
Не все кто уехал, предал Россию.
Отредактировано 20.01.2017 16:30 Andrew.W Worobow . Предыдущая версия . Еще …
Отредактировано 20.01.2017 16:29 Andrew.W Worobow . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.