WHAT'S IN THIS CHAPTER?
Looking at the exception classes
try...catch...finally to capture exceptions
Creating user-defined exceptions
Errors happen, and they are not always caused by the person who coded the application. Sometimes your application will generate an error because of an action that was initiated by the end user of your application or it might be simply due to the environmental context in which your code is running. In any case, you should anticipate errors occurring in your applications and code accordingly.
The .NET Framework has enhanced the ways in which you deal with errors. C#'s mechanism for handling error conditions allows you to provide custom handling for each type of error condition as well as to separate the code that identifies errors from the code that handles them.
By the end of this chapter, you will have a good grasp on advanced exception handling in your C# applications.
No matter how good your coding is, your programs should have the ability to handle any possible errors that may occur. For example, in the middle of some complex processing of your code, you may discover that it doesn't have permission to read a file, or, while it is sending network requests, the network may go down. In such exceptional situations, it is not enough for a method to simply return an appropriate error code — there might be 15 or 20 nested method calls, so what you really want the program to do is jump back up through all those 15 or 20 ...