我正在尝试使用 Jacob 调用现有的 VFP 6 应用程序,它是 Java 的 COM 桥。
val vfp = new Application(new ActiveXComponent("VisualFoxPro.Application").getProperty("Application").toDispatch())
vfp.setVisible(false)
try {
vfp.doCmd("do my.exe with myconfig.txt")
} catch {
case t: Throwable => t.printStackTrace
} finally {
vfp.doCmd("close data")
vfp.doCmd("clear all")
vfp.doCmd("clear")
vfp.quit
vfp.safeRelease
}
当没有错误条件时,此代码执行良好并生成预期的 .dbfs。问题是当发生错误时(.dbf 未找到,文件正在被其他用户使用等),会弹出一个 GUI 窗口并停止程序的执行,直到我使用鼠标取消它。我希望这个程序在没有用户交互的服务器上运行,所以这不起作用。
如何在不更改 VFP 6 程序的情况下优雅地处理错误?