Bug 320162 E4CommandProcessor.createBinding catch IllegalArgumentException which is never thrown
The code looks like this: TriggerSequence sequence = null; try { sequence = bs.createSequence(keySequence); } catch (IllegalArgumentException ex) { // the sequence is not complete Activator.trace(Policy.DEBUG_MENUS, "failed to create: " + binding, ex); //$NON-NLS-1$ return null; } But when looking at code in KeySequence.getInstance the only Exceptions thrown are: * NPE * ParseException (catched in BindingServiceImpl) I guess the code should catch the NPE and not the never thrown IAE
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/E4CommandProcessor.java
};
		broker.subscribe(
				UIEvents.buildTopic(UIEvents.Application.TOPIC, UIEvents.Application.COMMANDS),
				handler);
		broker.subscribe(
				UIEvents.buildTopic(UIEvents.Application.TOPIC, UIEvents.Application.CATEGORIES),
				handler);
	}
	public static void processBindings(IEclipseContext context,
			MBindingTableContainer bindingContainer) {
		Activator.trace(Policy.DEBUG_CMDS, "Initialize binding tables from model", null); 
		final BindingTableManager bindingTables = (BindingTableManager) ContextInjectionFactory
				.make(BindingTableManager.class, context);
		context.set(BindingTableManager.class.getName(), bindingTables);
		MBindingContext root = bindingContainer.getRootContext();
		if (root == null) {
			return;
		}
		final ECommandService cs = (ECommandService) context.get(ECommandService.class.getName());
		final EBindingService bs = (EBindingService) context.get(EBindingService.class.getName());
		if (cs == null) {
			Activator
					.log(IStatus.ERROR, "cannot run without ECommandService in defineBindingTable"); 
			return;
		}
		if (bs == null) {
			Activator
					.log(IStatus.ERROR, "cannot run without EBindingService in defineBindingTable"); 
			return;
		}