LINUX.ORG.RU

История изменений

Исправление DRVTiny, (текущая версия) :

Обычному пользователю это все равно ничего не даст (в код то он не полезет),

Есть 2 типа ошибок: ошибки самой программы и внешние ошибки - ошибки конфигурации самой программы или её окружения.

Нормальная программа:

а) Проверяет своё окружение и если что-то не так - внятно говорит об этом: «нет прав на запись в каталог foo»

б) Проверяет конфигурацию и если что-то криво сконфигурировано - говорит об этом: 'неправильное значение параметра «имя хоста»'

Если с окружением и с конфигурацией всё ОК, то могут возникнуть ещё ошибки 1-го типа - главным образом из-за того, что в проверках а и б абсолютно все проблемы предусмотреть невозможно. В этом случае стек-трейс логичен и уместен: такую ошибку должен исправлять сам разработчик.

В объективной действительности же самый распространённый случай - это когда пользователь что-то сконфигурировал не так или права дал программе не такие или что не поставил. Эти ошибки легко отслеживаются. Вместо этого программист как правило пишет программу с расчётом на то, что «всё ОК по дефолту, а если это не так, то пусть будет стек-трейс»

Исходная версия DRVTiny, :

Обычному пользователю это все равно ничего не даст (в код то он не полезет),

Есть 2 типа ошибок: ошибки самой программы и внешние ошибки - ошибки конфигурации самой программы или её окружения.

Нормальная программа: а) Проверяет своё окружение и если что-то не так - внятно говорит об этом: «нет прав на запись в каталог foo»

б) Проверяет конфигурацию и если что-то криво сконфигурировано - говорит об этом: 'неправильное значение параметра «имя хоста»'

Если с окружением и с конфигурацией всё ОК, то могут возникнуть ещё ошибки 1-го типа - главным образом из-за того, что в проверках а и б абсолютно все проблемы предусмотреть невозможно. В этом случае стек-трейс логичен и уместен: такую ошибку должен исправлять сам разработчик.

В объективной действительности же самый распространённый случай - это когда пользователь что-то сконфигурировал не так или права дал программе не такие или что не поставил. Эти ошибки легко отслеживаются. Вместо этого программист как правило пишет программу с расчётом на то, что «всё ОК по дефолту, а если это не так, то пусть будет стек-трейс»