Обработка ошибок. Как программа должна это сделать? - PullRequest
1 голос
/ 24 января 2010

Как программа должна обрабатывать ошибки? Пример:

Программе нужен файл text.txt. Он должен существовать и быть доступным для записи. Что он должен делать, если он не доступен для записи или не существует? Должен ли он попробовать chown / chmod файл? Должен ли он попытаться создать его или просто отобразить сообщение об ошибке?

Или: Стоит ли пытаться найти решение или просто отображать сообщение об ошибке?

Ответы [ 3 ]

6 голосов
/ 24 января 2010

Вам решать, как справиться с этим. Вы должны определить свои сценарии, взаимодействия с пользователем и другие части программы. Как только вы определите их, настало время реализовать и протестировать эти сценарии.

Некоторые вопросы задать:

  • Какие данные записываются в файл?
  • Насколько важно сохранить данные?
  • Если появится сообщение об ошибке, кто ее увидит?
  • Если сообщается об ошибке, как, по вашему мнению, отреагирует пользователь? А какие у них варианты?
2 голосов
/ 24 января 2010

Я бы по большей части согласился с ответом Эйлона, но добавил бы следующее предостережение - я бы не стал пытаться урезать / chmod файл, если вам действительно не нужно, т.е. если целью вашей программы является управление правами доступа к файлам или действовать как установщик какой-то. Это потому, что a) ваша попытка chmod / chown может не работать и b) ваше приложение должно уважать привилегии пользователя, с которыми оно запускается - если их недостаточно, вы должны информировать пользователя с помощью любого механизма, который вы делаете это.

0 голосов
/ 24 января 2010

Ваша программа должна вывести ошибку на STDERR и вернуться с кодом выхода, отличным от нуля.

Для получения дополнительной информации:

...