Experiment with unchecked vs checked exceptions. This allows calling codes to check for this specific exception. Note that this is a subclass of RuntimeException, not CancelledOperationException.