Consider this scenario:
I have 3-layer app, when the user click on the button the button event handler calls a method in biz layer that do whatever with data my button even
definitely put a try catch closest to the user -- because in that location you can translate it into something meaningful for your user.
Deeper try catches could only be needed if you intend to do something with them -- for example, handle the exception, or perhaps log and rethrow the exception.