Errors happen, and it isn't always because of 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. 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 code that identifies errors from the code that handles them.
The main topics covered in this chapter include:
Looking at the exception classes
finally to capture exceptions
Creating user-defined exceptions
By the end of the chapter, you will have a good handle on advanced exception handling in your C# applications.
No matter how good your coding is, your programs should be able to handle any possible errors that may occur. For example, in the middle of some complex processing your code 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 calls in order to exit the task completely and ...