Я думаю, это зависит от того, как услуга потребляется, и кто (если кто-то), вы хотите, чтобы осознавать, когда исключение имеет место.
Например, если вы разрабатываете критически важное внутреннее бизнес-приложение, вы можете захотеть, чтобы сведения об исключении пузырились через уровень обслуживания к пользовательскому интерфейсу, который потребляет приложение, чтобы конечный пользователь мог связаться разработчик, чтобы быстро решить проблему.
Однако предположим, что ваша услуга используется общедоступной веб-страницей. Вероятно, вы все равно хотите, чтобы уровень сервиса каким-то образом поймал ошибку, но вы можете передать конечную информацию минимальной информации, предоставить общее сообщение об ошибке конечному пользователю и написать сведения об исключении в журнал ошибок для разработчикам пересмотреть.
В конце концов, я все еще думаю, что вы хотите, чтобы исключение выходило на уровень обслуживания, но как вы обрабатываете исключение и решаете, какая информация передается конечному клиенту, зависит от вас.