Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OleControl中的错误导致JVM完全崩溃-如何抑制?_Java_Eclipse Plugin_Swt_Eclipse Rcp_Ole - Fatal编程技术网

Java OleControl中的错误导致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 =

我有一些严重的问题。我们在应用程序中插入了EclipseRCP客户端中的外部ole插件。此插件在运行时会导致一些错误,然后会杀死整个客户端

由于我们无法修复该问题,因此我们希望捕获该错误,以便客户端至少不会崩溃。更准确地说,客户机崩溃是因为JVM导致了致命错误。是否有可能抑制这些错误,以避免JVM崩溃

这是我们在客户端包含插件的代码,有人知道如何实现这样的错误捕获吗

    // 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代码中的某个无效状态引起的,因此另一个库可能会有所帮助。

我们当然已经尝试捕获异常。没有成功:(我正在看雅各布图书馆,谢谢你