Change the interface of CanHandle to return error information.