为什么我们会收到 AssertionFailedError ?

发布于 2024-09-06 06:32:19 字数 4202 浏览 2 评论 0原文

我有以下代码:

        TableViewer tv = new TableViewer(attributeTable);
        tv.setContentProvider(new BOAttributeTableContentProvider());
        tv.setLabelProvider(new BOAttributeTableLabelProvider());

在设置标签提供程序时,我收到 AssertionFailedError。谁能告诉我我在这里做错了什么?或者在什么情况下会抛出此错误?

错误日志:

org.eclipse.jface.util.Assert$AssertionFailedException: null argument;
    at org.eclipse.jface.util.Assert.isNotNull(Assert.java:150)
    at org.eclipse.jface.util.Assert.isNotNull(Assert.java:126)
    at org.eclipse.jface.viewers.StructuredViewer.disassociate(StructuredViewer.java:615)
    at org.eclipse.jface.viewers.TableViewer.internalRefreshAll(TableViewer.java:904)
    at org.eclipse.jface.viewers.TableViewer.internalRefresh(TableViewer.java:818)
    at org.eclipse.jface.viewers.TableViewer.internalRefresh(TableViewer.java:807)
    at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1388)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1323)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1386)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1345)
    at org.eclipse.jface.viewers.ContentViewer.setLabelProvider(ContentViewer.java:281)
    at org.eclipse.jface.viewers.StructuredViewer.setLabelProvider(StructuredViewer.java:2003)
    at org.eclipse.jface.viewers.TableViewer.setLabelProvider(TableViewer.java:1086)
    at com.misys.bankfusion.bpdesigner.boeditor.pages.BOAttributesPage.populateAttributeTableContents(BOAttributesPage.java:458)
    at com.misys.bankfusion.bpdesigner.boeditor.pages.BOAttributesPage.access$000(BOAttributesPage.java:128)
    at com.misys.bankfusion.bpdesigner.boeditor.pages.BOAttributesPage$1.setToModel(BOAttributesPage.java:341)
    at com.trapedza.bankfusion.editor.AbstractEditorDelegate.updateData(AbstractEditorDelegate.java:173)
    at com.trapedza.bankfusion.editor.AbstractEditorDelegate$1.dialogFieldChanged(AbstractEditorDelegate.java:181)
    at com.trapedza.bankfusion.utils.dialogs.internal.DialogField.dialogFieldChanged(DialogField.java:132)
    at com.trapedza.bankfusion.utils.dialogs.internal.ListBoxDialogField.doModifySelection(ListBoxDialogField.java:51)
    at com.trapedza.bankfusion.utils.dialogs.internal.ComboDialogField$2.widgetSelected(ComboDialogField.java:153)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)

I have the following piece of code:

        TableViewer tv = new TableViewer(attributeTable);
        tv.setContentProvider(new BOAttributeTableContentProvider());
        tv.setLabelProvider(new BOAttributeTableLabelProvider());

where while setting the label provider i am getting AssertionFailedError. can anybody tell me what wrong i am doing here? or in which case it throws this error?

error Log:

org.eclipse.jface.util.Assert$AssertionFailedException: null argument;
    at org.eclipse.jface.util.Assert.isNotNull(Assert.java:150)
    at org.eclipse.jface.util.Assert.isNotNull(Assert.java:126)
    at org.eclipse.jface.viewers.StructuredViewer.disassociate(StructuredViewer.java:615)
    at org.eclipse.jface.viewers.TableViewer.internalRefreshAll(TableViewer.java:904)
    at org.eclipse.jface.viewers.TableViewer.internalRefresh(TableViewer.java:818)
    at org.eclipse.jface.viewers.TableViewer.internalRefresh(TableViewer.java:807)
    at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1388)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1323)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1386)
    at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1345)
    at org.eclipse.jface.viewers.ContentViewer.setLabelProvider(ContentViewer.java:281)
    at org.eclipse.jface.viewers.StructuredViewer.setLabelProvider(StructuredViewer.java:2003)
    at org.eclipse.jface.viewers.TableViewer.setLabelProvider(TableViewer.java:1086)
    at com.misys.bankfusion.bpdesigner.boeditor.pages.BOAttributesPage.populateAttributeTableContents(BOAttributesPage.java:458)
    at com.misys.bankfusion.bpdesigner.boeditor.pages.BOAttributesPage.access$000(BOAttributesPage.java:128)
    at com.misys.bankfusion.bpdesigner.boeditor.pages.BOAttributesPage$1.setToModel(BOAttributesPage.java:341)
    at com.trapedza.bankfusion.editor.AbstractEditorDelegate.updateData(AbstractEditorDelegate.java:173)
    at com.trapedza.bankfusion.editor.AbstractEditorDelegate$1.dialogFieldChanged(AbstractEditorDelegate.java:181)
    at com.trapedza.bankfusion.utils.dialogs.internal.DialogField.dialogFieldChanged(DialogField.java:132)
    at com.trapedza.bankfusion.utils.dialogs.internal.ListBoxDialogField.doModifySelection(ListBoxDialogField.java:51)
    at com.trapedza.bankfusion.utils.dialogs.internal.ComboDialogField$2.widgetSelected(ComboDialogField.java:153)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

櫻之舞 2024-09-13 06:32:19

确保方法名称开头的“test”是小写的。如果您说 TestMethod,您将收到此错误消息。你应该说测试方法。

例如:

@Test
    public void test_VPlugin() throws Exception {

这对我有用,我希望它对你也有用

Make sure the "test" at the beginning of the method name is lower case. If you say TestMethod you will get this error message. You should say testMethod.

For example:

@Test
    public void test_VPlugin() throws Exception {

This works for me and I hope it will work for you

一影成城 2024-09-13 06:32:19

您正在使用的构造函数 (TableViewer) 或两个设置器 (setContentProvidersetLabelProvider) 具有保护 assert 语句抛出这些异常。代码的作者有一个想法,可以保护其代码免受您在调用她/他的代码时使用的不规则参数的影响。

Constructor that you are using (TableViewer) or two setters (setContentProvider, setLabelProvider) have guarding assert statements which are throwing these exceptions. Author of the code had an idea to protect its code from irregular parameters that you are using when invoking her/his code.

忆梦 2024-09-13 06:32:19

堆栈跟踪显示,您从 'BOAttributesPage.populateAttributeTableContents()' 调用 'TableViewer.setLabelProvider()' 最终导致调用 'org.eclipse。 jface.viewers.StructuredViewer.disassociate()' 带有 null 参数,并且该方法将输入参数限制为非 null

The stack trace shows that your call to 'TableViewer.setLabelProvider()' from 'BOAttributesPage.populateAttributeTableContents()' eventually results in call to 'org.eclipse.jface.viewers.StructuredViewer.disassociate()' with null argument and that method constraints input argument to be not-null.

謸气贵蔟 2024-09-13 06:32:19

看起来 BOAttributeTableContentProvider 在某处提供了一个 null 对象(您尝试在表中显示的元素之一为 null)。
调试内容提供程序。希望我迟来的回答能有所帮助。

It looks like BOAttributeTableContentProvider provides a null object somewhere along line (one of the elements you are trying to display in the table is null).
Debug the content provider. Hope my late answer will help.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文