Well, you're not really handling the exception since you are re-throwing and bubbling it up to the service layer which is exactly what you want to do if you want to log exceptions occurring in your data access layer.
So, you are doing exactly what needs to be done and it is indeed a good practice to:
- Log errors
- Not to handle exceptions in the lower layers of an application system
- Let the front-end/consuming applications handle exceptions and/or errors