Где бороться с исключением файла? - PullRequest
1 голос
/ 11 марта 2012

Я работал над консольной программой Inventory как часть моего курса, и теперь мне нужно хранить и анализировать данные в файлах.Итак, я сохранил все свои данные в CSV-файлах и у меня есть специальный «файл» с помощью общего метода loadFile().

Если файл инвентаризации или конфигурационный файл не может быть найден, это не имеет смысладля продолжения программы, поскольку все остальное зависит от них.

Поэтому я просто перехватываю файл в методе loadFile() и печатаю инструкцию для пользователя, а затем использую System.exit() для закрытия.

Это хорошая практика?Есть ли более элегантный способ завершить программу после того, как было напечатано правильное сообщение об ошибке?

Ответы [ 3 ]

3 голосов
/ 11 марта 2012

номер

Цель исключений - указать исключительные условия. Поскольку ваша программа не будет работать без входных файлов, System.exit() - это то, что нужно.

1 голос
/ 11 марта 2012

Я справлюсь с этим только тогда, когда вы сможете сделать что-то полезное.Если вы хотите остановить программу, то самое простое - сделать основной выброс IOException.

public static void main(String... args) throws IOException {
0 голосов
/ 11 марта 2012

В такой ситуации я обычно предпочитаю генерировать непроверенное исключение из метода loadFile(), так как программа не может восстановиться из этой ситуации, например, RuntimeException или IllegalStateException. Это исключение приведет к закрытию приложения, если вы не решите его перехватить и обработать.

...