Exception handling is more than just throwing and catching objects in .NET. There are many design elements in providing a robust system, and providing a sound exception handling, logging, and tracing schema are some of the first steps. In this chapter, we covered several best practices for determining when to throw, catch, and ultimately log your errors.
I went into the differences of how exceptions should be handled in a Web service application. One of the most valuable components of this chapter is how you can exploit the FCL to provide global error log control through tracing. Finally, I provided a starting point for building a remote trace utility so that, as a service provider, you can receive complete details of a production system from anywhere on the Internet. The better your exception framework design, the less time you will spend in support mode, and the more time you will actually have to code. That should be incentive enough.