Pull to refresh
-7
0
Send message
Например, взятие элементов массива по несуществующему индексу на разных языках дает разные результаты. Если не провалидировать индексную переменную в цикле, то, одинаковая программа поведет себя совершенно по разному, от «падения», до выдачи непредсказуемых результатов. Некоторые языки это могут «простить», некоторые завершить выполнение с FATAL ERROR.
Возможно, мою статью, не так поняли, как я того хотел. Дописал UPD.
Речь идет о случайной ошибке, при которой вся программа останавливается (управление идет в бесконечном цикле), а соответственно и управление объектом. О случайности. Представьте себе, что Вы написали программу управления космическим аппаратом, он вышел на орбиту, обработали все исключения, но это место в коде специально не проверили. Программа написана на языке (выберете любой). Как вы вернете управление обратно? Какое будет поведение при заведомо зашкалившем управляющем воздействии?
Приемлемо не вылететь по исключению, а продолжать управление. Такого рода сбой не повлияет на работу ответственного объекта, а исключение останавливает управление полностью. Как Вы обрабатываете такие исключения, когда от Вас требуется работа 24/7?
Я программист с десятилетним стажем именно промышленного оборудования. Тут приводится пример кода, когда на вход случайно подали не то значение, которое ожидалось (например, ввод оператора). Ползунок со значениями от 0..5 случайно перевели вместо 0 в -1. Что делать программе? Вылететь с ошибкой и остановить объект управления, тот же реактор. Или продолжить управление, игнорируя неправильный ввод. На разных языках программирования, как мы видим, будет различный результат.

Information

Rating
Does not participate
Registered
Activity