исключение никогда не выдается методом Exec в Java - PullRequest
1 голос
/ 11 ноября 2010

Я пытаюсь выполнить системные команды, такие как exp, для резервного копирования БД.Но если данные для входа неверны или если база данных не существует, то она не выдает исключение.

Как я могу обработать такой случай, когда создаются исключения?

Все полезныеруки приветствуются ..

С уважением, Сварупа

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

Если вы не можете сказать что-то из кода возврата внешнего процесса, вам может не повезти. Я полагаю, вы могли бы, возможно, передать вывод консоли exp в файл или строковый буфер, а затем проанализировать это. Можете ли вы сделать резервную копию, используя вместо этого JDBC?

1 голос
/ 11 ноября 2010

Java exec запускает внешний процесс. Вам нужно будет получить возвращаемое значение exec (), которое является процессом. Вы должны проверить Process.exitValue (), чтобы увидеть ошибку, возвращенную вашим внешним процессом.

Вы также можете получить inputStream из процесса, чтобы увидеть такие вещи, как вывод программы, которую вы выполняете.

0 голосов
/ 11 ноября 2010

Это во многом зависит от того, какое программное обеспечение базы данных вы используете. Я бы проверил, существует ли файл для требуемой базы данных. if((new File("dbfilename")).exists())

...