根据调试Java程序过程中,碰到的异常或者错误,收集起来并记录解决问题的过程,
并一直完善下去,方便以后调试程序,不要再在同一个问题上纠缠。
1. org.eclipse.core.runtime.AssertionFailedException
org.eclipse.core.runtime.AssertionFailedException: null argument:Action must not have null id
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
at org.eclipse.ui.application.ActionBarAdvisor.register(ActionBarAdvisor.java:190)
........
Eclipse RCP程序中在菜单中添加事件(Action),继承自org.eclipse.jface.action.Action,并实现org.eclipse.ui.ISelectionListener
和org.eclipse.ui.actions.ActionFactory.IWorkbenchAction接口,由于Action类在构造函数中,没有初始化Action的ID,Text以及
TooltipText等,导致在ApplicationActionBarAdvisor的makeAction方法中注册Action的时候出现错误。
2. java.lang.NullPointerException
at org.eclipse.gef.ui.parts.GraphicalEditor.getCommandStack(GraphicalEditor.java:236)
at org.eclipse.gef.ui.parts.GraphicalEditor.dispose(GraphicalEditor.java:170)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:697)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
Eclipse GEF编程过程中,Editor继承自GraphicalEditor,如果没有在Editor的构造函数中通过setEditDomain,那么GraphicalEditor由于
没有EditDomain报告NullPointer。