org.eclipse.core.commands.NotHandledException

解决异常:正确实现IHandler接口及AbstractHandler的重要性
本文详细介绍了在实现IHandler接口时遇到的异常问题,特别是isHandled()方法返回false的情况,并提供了解决方案。同时强调了继承AbstractHandler类在避免此类问题上的优势。

出现如题的异常

1、实现IHandler接口时,isHandled()返回了false,需要返回true的时候,才能执行。

@Override
	public boolean isHandled() {
		// TODO Auto-generated method stub
		return true;
	}

2、如果继承了AbstractHandler则不存在问题,AbstractHandler中
isHandled()
已经返回了true。
Exception stack trace: java.lang.ClassCastException: class org.eclipse.cdt.managedbuilder.internal.core.ResourceConfiguration cannot be cast to class org.eclipse.cdt.managedbuilder.core.IConfiguration (org.eclipse.cdt.managedbuilder.internal.core.ResourceConfiguration and org.eclipse.cdt.managedbuilder.core.IConfiguration are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @18356951) at com.rt.hightec.framework.buildsystem.managedbuilder.GlobalToolchainOptionPart.getToolchainIDs(GlobalToolchainOptionPart.java:57) at com.rt.hightec.framework.buildsystem.managedbuilder.AbstractGlobalToolchainOptionPart.isOptionUsedInCommandLine(AbstractGlobalToolchainOptionPart.java:41) at org.eclipse.cdt.managedbuilder.internal.core.Tool.getToolCommandFlags(Tool.java:2636) at org.eclipse.cdt.managedbuilder.internal.macros.BuildMacroProvider.getReferencedExplitFileMacros(BuildMacroProvider.java:471) at org.eclipse.cdt.managedbuilder.makegen.gnu.DefaultGCCDependencyCalculator2Commands.<init>(DefaultGCCDependencyCalculator2Commands.java:115) at org.eclipse.cdt.managedbuilder.makegen.gnu.DefaultGCCDependencyCalculator2.getDependencySourceInfo(DefaultGCCDependencyCalculator2.java:55) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.addRuleForSource(GnuMakefileGenerator.java:2347) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.addFragmentMakefileEntriesForSource(GnuMakefileGenerator.java:2080) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.addSources(GnuMakefileGenerator.java:1991) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.populateFragmentMakefile(GnuMakefileGenerator.java:997) at org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator.regenerateMakefiles(GnuMakefileGenerator.java:927) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1008) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:872) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:752) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:515) at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:461) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:832) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:220) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:263) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392) at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:515) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405) at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:180) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
最新发布
08-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值