Re[33]: Вот еще, или я, кажется, читать разучился
От: Abidos  
Дата: 08.03.13 23:25
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Думаю логика работы очевидна, да? Так вот как будет выглядеть подобный код, если переписать его через исключения (их тогда бросает функция ReadProfile)? Он будет удобнее приведённого выше или нет?


На мой взгляд, вам стоит задуматься над вашей трактовкой исключительных ситуаций.

С моей точки зрения, в данном случае ReadProfile должен возвращать код ошибки, только если профайл не может быть прочитан из-за того, что он отсутствует — в этом случае создается новый профайл. Это не является исключительной ситуацией и правильно использовать код возврата для связывания логики.
Если же возникло исключение файловой системы — то это исключительная ситуация. Это исключение может быть выброшено как функцией ReadProfile, так и CreateProfile. Скорее всего в таком случае и не нужно пытаться создать профайл, если при чтении возникло исключение — исключение должно быть обработано вышележащим кодом.

Таким образом здесь нет противоречия: коду стоит оставаться таким, как вы написали. При этом обработка исключений файловой системы должна лежать выше.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.