I guess it depends on how the service is consumed and who (if anyone) you want to made aware when an exception occurs.
For example, if you're developing a mission-critical internal business application, you may want the details of the exception to bubble through the service layer to the user-interface that consumes the application so they end-user can contact a developer to quickly get the problem resolved.
However, let's say your service is consumed by a public web page. You probably still want the service layer to catch the error in some way, but you might choose to pass minimal information to the end client, provide a generic error message to the end user, and write the details of the exception to an error log for developers to review.
In the end, I still think you want the exception to bubble up to the service layer, but how you handle the exception and decide what information to pass to the end client is up to you.