String command = "sh ftp_file.sh ";
System.out.println ("transfer shell=["+command+"]");
Process proc = null;
try
{
proc = Runtime.getRuntime().exec(command);
proc.waitFor();
proc.destroy();
}
catch (Exception e)
{
if(proc!=null)
proc.destroy();
e.printStackTrace();
}
如果我的脚本在写的过程中出现了异常,也就是写入失败了.那么我的try..catch..语句能捕捉到这个异常么.
因为写入失败后,要把数据库回滚,还要在页面上说明失败的原因.应该怎么做?????高手指点
{
if(proc!=null)
proc.destroy();
e.printStackTrace();
//事务处理
throw new Exception(e.getMessage());//获取异常消息在抛出
}
1) int exitValue = process.exitValue(); //获知脚本运行最终的退出值。通常0为无错误。
2) InputStream errorIn = process.getErrorStream(); //读取脚本运行错误信息。我推荐用第2种方法。具体出错的信息,在程序内需要分别识别。
也就是说,不可能有通用的方法去处理出错的信息。