java中的Exec方法永远不会抛出异常

时间:2010-11-11 13:41:14

标签: java process exec runtime.exec

我正在尝试执行exp等系统命令来备份数据库。但是如果登录详细信息错误或者db不存在那么它就不会抛出异常。

如何处理抛出异常的情况?

欢迎所有乐于助人的人..

此致 Swarupa

3 个答案:

答案 0 :(得分:1)

除非您能从外部流程的返回代码中说出某些内容,否则您可能会失败。我想你可以将exp的控制台输出管道输出到文件或字符串缓冲区中,然后解析它。你可以用JDBC代替吗?

答案 1 :(得分:1)

Java exec运行外部进程。您将必须获得exec()的返回值,这是一个进程。 您应该检查Process.exitValue()以查看外部进程返回的错误。

您还可以从流程中获取inputStream,以查看正在执行的程序输出等内容。

答案 2 :(得分:0)

这在很大程度上取决于您使用的是哪种数据库软件。我会检查是否存在所需数据库的文件。 if((new File("dbfilename")).exists())