If  ```menus``` are defined in ```config.yml``` that means we need menu block service somewhere in applicaiton.
So in my solution you will see exception during building configuration, that you menu block service depends on ```knp_menu.menu_provider```.

But when we delete this check then, the error will occurs only in places where ```sonata.block.service.menu``` is used, and message probably will be "You have requested a non-existent service" and this error is misleading. 

I think that better is to show error during building configuration, than if error will appear only on some pages where menu service is used.