User1696475319 posted
It all depends on the requirements and what you want clients to know about.
Yes, exceptions are costly, so your observations are right.
If the client doesn't really need to know what's wrong with the service, then handle the exception in the service and return 'nulls' or nothing and ensure that the client can handle empty values gracefully without kicking up a fuss. You can, in turn, log
the exception somewhere so that if the behavior is persistent, you check the error logs to see what's wrong with the service.
If you want to display the exceptions to the user, then the client does need to know what's wrong with the service and so you should allow the exception to go all the way.