Re: Что вы предлагаете на замену эксепшенов?
От: Nickolay Ch  
Дата: 20.11.05 05:01
Оценка: +2
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Nickolay Ch, Вы писали:


СГ>http://www.rsdn.ru/Forum/Message.aspx?mid=1496415&only=1
Автор: Nickolay Ch
Дата: 19.11.05


NC>>А вот очень бы хотелось услышать, что вы предлагаете на замену эксепшенов, только мб в новой теме. Они много чем не нравятся, но пока не видно лучших механизмов обработки ошибок.


СГ>Я делю ошибки на две категории:

СГ>1) ошибки в данных (программа на вход получила неправильные данные);
СГ>2) ошибки в программе (программист ошибся: а) просто ошибся; б) сложно ошибся — в дизайне/архитектуре).

СГ>Ошибки категори (1) легко обрабатывается без механизма exceptions, так надо проектировать просто.

СГ>Ошибки категории (2) фатальные, тут программу надо завершать — в программе ошибка, т.е. программа не правильная. Использовать exception только для того чтобы правильно завершить работу программы (ну там закрыть открытые ресурсы), только для этого чтоли? Закрыть открытое можно и другими способами.

Посыл неверный.
Пример: некий оффлайн клиент. Пользователь отредактировал документ и хочет его скинуть на сервер. Сервер недоступен. Какая это ошибка в вашей терминологии? На 1ую непохоже, а во втором случае надо завершить программу? И все, что было создано пропадет?
Аналогично с сохранением файла на носитель, на котором кончилось место. По идее надо дать возможность сменить носитель и т.д., а не молча закрыть прогу.
Опять возвращаемся к кодам ошибок или исключениям.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.