16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117
|
|
1 | |
Способы обработки ошибочных ситуаций02.08.2015, 22:31. Показов 3853. Ответов 28
Метки нет (Все метки)
Добрый вечер!!
Расскажите ваше мнение на тему обработки ошибок, как лучше реализовать? Заранее благодарю вас за ответы!!
0
|
02.08.2015, 22:31 | |
Ответы с готовыми решениями:
28
Обработка ошибочных ситуаций с использованием исключений Обработки исключительных ситуаций Есть ли в SQL аналог обработки исключительных ситуаций? ряды и способы их обработки |
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
05.08.2016, 23:33 | 21 |
я ожидаю от вас примера-иллюстрации.
который можно скомпилировать, и посмотреть как это работает на практике. а не объяснения на пальцах, которое сможет понять только тот, кто итак уже в теме.
0
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||||
06.08.2016, 00:06 | 22 | |||||
hoggy,
1
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
07.08.2016, 12:57 | 23 |
Вот, тут была тема Битовые утечки при записи данных на диск
Дайте строгие гарантии в этом случае
0
|
Ушел с форума
|
|
07.08.2016, 13:50 | 24 |
У нас в программе автопилота страшная ошибка, из-за чего существует
повышенная вероятность отказа двигателя. Предлагаешь так и летать с ней, а сверху налепить механизмов аварийного восстановления? А я расскажу, что будет дальше. Пилоты так и будут летать с двигателями "на грани", а сама ошибка никуда не денется, она просто трансформируется в другую форму, в результате чего вместо отказа двигателя самолет будет сразу взрываться. В программе возникло переполнение стека или разрушение кучи (heap corruption). Программа находится в неопределенном состоянии. Никакое восстановление здесь невозможно в принципе, кроме ну разве что перезапуска всего процесса.
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
07.08.2016, 14:22 | 25 |
Самое близкое, что вспоминается - 747 там есть возможность прикрепить пятый двигатель (правда запустить его не получится - это чисто для транспортировки двигателей, но это мелочи). Есть еще всякие летающие лаборатории для тестирования двигателей в полете, но они тоже при отказе основных далеко не улетят.
Вообще реальность такова - двигателей на самолетах нужно больше одного (необходимо чтобы летать над населенными пунктами) именно на случай отказа. Т.е. они друг для друга запасные. Если же один двигатель отказал - летим к ближайшему аэродрому, а не в пункт назначения!, что и является завершением работы с сообщением об ошибке
1
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
07.08.2016, 17:40 | 26 |
у нас есть только два варианта:
или запускать аварийный двигатель. или ронять самолет. по первому варианту даже при самом худшем развитии событий у людей будет шанс выжить. по второму, вероятность гибели всех пассажиров, и экипажа практически 100%. я спрашиваю вас ещё раз: реально так оно и происходит на самом деле. в случае отказа одного из двигателя, самолет даже сажать не будут. он будет спокойно выполнять свой полет. и уже только потом, когда он уже будет на земле, там будет полная проверка всего оборудования. а по факту отказа оборудования будет очень серьёзное разбирательство. надо будем - перезапустим. а вообще, отказоустойчивый софт изначально так проектируется, что бы была возможность предоставить гарантии ликвидации последствий аварии. память там, всякие ресурсы захватываются ещё при запуске процесса. мы либо успешно застолбили все ресурсы и взлетаем. либо самолет вообще не поднимется с земли. а дальше софт работает как утюг. все модули имеют возможность отключения/перезапуска/дублера. если у нас только один процесс, значит у нас предусмотрена возможность проведения смертельных тестов (форкаем процесс и смотрим - сдох ли клон, или успешно отработал) у нас двигатель отказал. если бы это была какая то стабильная ошибка, то её уже давно бы выловили ещё на тестировании. а у нас самолет в воздухе. теоретически проскочить тут может только плавающая ошибка. которая очень редко себя проявляет. а это значит, что рестарт сбойнувшего модуля с очень высокой степенью вероятности сможет помочь. у вас есть практически 100% вероятность, что самолет успешно сможет продолжить полет на аварийном двигателе. и у вас есть практически 100% вероятность, что все люди погибнут, если не попытаться восстановиться после паники. что вы выбираете? Добавлено через 12 минут во-первых, только так на аварийных летают. а во-вторых, вы не поняли. суть моего послания: есть ПО, которое обязано работать вопреки любым возможным сбоям. и оно специально так проектируется, что бы система смогла выжить несмотря на наличие ошибок.
1
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
07.08.2016, 17:45 | 27 |
Ваши слова бы, да богу в уши.
Раз уш пошла речь об авиации, есть такой самолет - A320. Там нареканий к софту - воз и маленькая тележка. Даже наш SSJ100 позиционировался, как арбуз без глюков.
0
|
Ушел с форума
|
|
07.08.2016, 18:54 | 28 |
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
07.08.2016, 19:13 | 29 |
самолет можно только посадить.
а вот систему его жизнеобеспечения перезапустить можно.
0
|
07.08.2016, 19:13 | |
07.08.2016, 19:13 | |
Помогаю со студенческими работами здесь
29
Способы обработки сообщений windows Какие способы самые удобные/рациональные способы регистрации ошибок есть? Контроль ввода ошибочных значений Выборка ошибочных данных, возможна? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |