The subject of how to best implement catch handlers (and when to throw) is
actually far more complex then this - this is just scratching the surface.
There is no consensus on where the catch block should be, which exceptions
should be caught, which allowed to bubble up the call stack, how to
categorize exceptions (e.g. between technical and data/business logic),
etc.
This is the crux of my statement. And you're mirroring my sentiments exactly
when you say that this is only scratching the surface. That's why I believe
that having the IDE auto-generate the catch statements is of limited use. It
isn't just a matter, as you say in the first paragraph, of the details of
the implementation of the handler being left up to you (the programmer), but
the entire structure and grouping of the exceptions is also an issue. For
example, let's say a particular method throws a potential of seven custom
exception instances and all of those exception types inherit from
ApplicationException. Knowing that ApplicationExceptions and their
derivatives indicate non-fatal app-specific problems, the programmer chooses
to simply display a message box with the localized exception message and a
statement that the operation cannot be completed. In a scenario where the
IDE generates all seven catch statements (for just this one method), the
programmer would just end up deleting all seven blocks and writing a block
that catches ApplicationException anyway. This also doesn't account for the
fact that this feature doesn't tell the programmer that those exceptions
inherited ApplicationException in the first place.
On the other hand, if all you want (as has been posted here by several
people) is a simple list of exceptions thrown by a method, that is
acheivable. The XML docs allow for an <exception> tag. So, as long as the
classes and methods are DOCUMENTED (emphesis for people who don't like to
document their code!

) it is easy for anyone to build an IDE add-in that
can look this information up. The add-in can provide a table of exceptions
and even drill into the document for the specific type exception class via a
link (this tag allows a "cref" attribute back to the exception class
itself). Nice pet project if anyone wants to take it up.
-Rob Teixeira [MVP]