Java OleControl中的错误导致JVM完全崩溃-如何抑制?
我有一些严重的问题。我们在应用程序中插入了EclipseRCP客户端中的外部ole插件。此插件在运行时会导致一些错误,然后会杀死整个客户端 由于我们无法修复该问题,因此我们希望捕获该错误,以便客户端至少不会崩溃。更准确地说,客户机崩溃是因为JVM导致了致命错误。是否有可能抑制这些错误,以避免JVM崩溃 这是我们在客户端包含插件的代码,有人知道如何实现这样的错误捕获吗Java OleControl中的错误导致JVM完全崩溃-如何抑制?,java,eclipse-plugin,swt,eclipse-rcp,ole,Java,Eclipse Plugin,Swt,Eclipse Rcp,Ole,我有一些严重的问题。我们在应用程序中插入了EclipseRCP客户端中的外部ole插件。此插件在运行时会导致一些错误,然后会杀死整个客户端 由于我们无法修复该问题,因此我们希望捕获该错误,以便客户端至少不会崩溃。更准确地说,客户机崩溃是因为JVM导致了致命错误。是否有可能抑制这些错误,以避免JVM崩溃 这是我们在客户端包含插件的代码,有人知道如何实现这样的错误捕获吗 // create OLE frame and site (XMAX control). clatFrame =
// create OLE frame and site (XMAX control).
clatFrame = new OleFrame(parent, SWT.NONE);
clatUtil = null;
try {
clatSite = new OleControlSite(clatFrame, SWT.NONE,
"Congree.XMax.Control");
clatSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
clatUtil = new OleUtil(clatSite);
// setzt die Dialogsprache
String dialogLanguage = Platform.getNL();
// Umgehung für Bug-20760
if (LOCALE_DE.equalsIgnoreCase(dialogLanguage)) {
// ClatIn Format 'de-DE'
dialogLanguage = dialogLanguage + "-DE"; //$NON-NLS-1$
} else {
dialogLanguage = dialogLanguage.replace("_", "-");
}
clatUtil.invokeMethod(null, "SetGuiLanguage", true, dialogLanguage);
GridDataFactory.fillDefaults().hint(SWT.DEFAULT, 25).grab(true,
false).align(SWT.FILL, SWT.TOP).applyTo(clatFrame);
} catch (SWTException e) {
clatFrame.dispose();
LOG.warn("OLE control (CLAT) not installed");
}
日志
您可以尝试捕捉可丢弃的内容,而不是SWTException。如果这不起作用,您可以为OLE/COM自动化尝试另一个库,如jacob:崩溃很可能是由c代码中的某个无效状态引起的,因此另一个库可能会有所帮助。我们当然已经尝试捕获异常。没有成功:(我正在看雅各布图书馆,谢谢你