Eclipse plugin org.eclipse.xtext.linking.impl.IllegalNodeException弹出一个错误,而不仅仅是写入日志

Eclipse plugin org.eclipse.xtext.linking.impl.IllegalNodeException弹出一个错误,而不仅仅是写入日志,eclipse-plugin,xtext,Eclipse Plugin,Xtext,我正在写一个基于xtext的编辑器。(v 2.2.1)(靛蓝月食) 我有一个扩展DefaultLinkingService并重写该方法的类: 公共列表getLinkedObjects(EOObject上下文、EReference ref、INode节点)抛出IllegalNodeException。 当无法解析对象时,该方法抛出IllegalNodeException。 当抛出异常(并且应该抛出异常)时,错误不仅会写入错误日志,还会导致弹出窗口显示错误: “Xtext验证”期间发生内部错误。 o

我正在写一个基于xtext的编辑器。(v 2.2.1)(靛蓝月食) 我有一个扩展DefaultLinkingService并重写该方法的类: 公共列表getLinkedObjects(EOObject上下文、EReference ref、INode节点)抛出IllegalNodeException。 当无法解析对象时,该方法抛出IllegalNodeException。 当抛出异常(并且应该抛出异常)时,错误不仅会写入错误日志,还会导致弹出窗口显示错误:

“Xtext验证”期间发生内部错误。 org.eclipse.xtext.linking.impl.IllegalNodeException:Action App.f不适用于指定的参数

这是非常有问题的,特别是如果文件有多个错误,使得编辑器中的任何内容都无法编辑,因为弹出窗口会反复出现在屏幕上

这个问题在几个IDE中是一致的,但在其他IDE中是不可复制的


任何帮助都将不胜感激。

您正在遇到这个问题,该问题已在2.3版(6月到期)中修复。 作为一种解决方法,您可能希望绑定LazyLinkingResource的自定义实现,并捕获#getEObject中的非法NodeException。或者,您可以从自定义LinkingService返回一个空列表,而不是引发非法NodeException