История изменений
Исправление DRVTiny, (текущая версия) :
Обычному пользователю это все равно ничего не даст (в код то он не полезет),
Есть 2 типа ошибок: ошибки самой программы и внешние ошибки - ошибки конфигурации самой программы или её окружения.
Нормальная программа:
а) Проверяет своё окружение и если что-то не так - внятно говорит об этом: «нет прав на запись в каталог foo»
б) Проверяет конфигурацию и если что-то криво сконфигурировано - говорит об этом: 'неправильное значение параметра «имя хоста»'
Если с окружением и с конфигурацией всё ОК, то могут возникнуть ещё ошибки 1-го типа - главным образом из-за того, что в проверках а и б абсолютно все проблемы предусмотреть невозможно. В этом случае стек-трейс логичен и уместен: такую ошибку должен исправлять сам разработчик.
В объективной действительности же самый распространённый случай - это когда пользователь что-то сконфигурировал не так или права дал программе не такие или что не поставил. Эти ошибки легко отслеживаются. Вместо этого программист как правило пишет программу с расчётом на то, что «всё ОК по дефолту, а если это не так, то пусть будет стек-трейс»
Исходная версия DRVTiny, :
Обычному пользователю это все равно ничего не даст (в код то он не полезет),
Есть 2 типа ошибок: ошибки самой программы и внешние ошибки - ошибки конфигурации самой программы или её окружения.
Нормальная программа: а) Проверяет своё окружение и если что-то не так - внятно говорит об этом: «нет прав на запись в каталог foo»
б) Проверяет конфигурацию и если что-то криво сконфигурировано - говорит об этом: 'неправильное значение параметра «имя хоста»'
Если с окружением и с конфигурацией всё ОК, то могут возникнуть ещё ошибки 1-го типа - главным образом из-за того, что в проверках а и б абсолютно все проблемы предусмотреть невозможно. В этом случае стек-трейс логичен и уместен: такую ошибку должен исправлять сам разработчик.
В объективной действительности же самый распространённый случай - это когда пользователь что-то сконфигурировал не так или права дал программе не такие или что не поставил. Эти ошибки легко отслеживаются. Вместо этого программист как правило пишет программу с расчётом на то, что «всё ОК по дефолту, а если это не так, то пусть будет стек-трейс»