Exception and error handling is one of the most important parts of writing reliable and error-prone applications. If you come from a C++ background, you're probably familiar with different exceptional handling methods such as C++ exceptional handling, structured exceptional handling, and Microsoft Foundation Classes (MFC) exceptions. If you come from a Visual Basic background, you're probably familiar with the On Error statement. Besides the exception handling in previous versions of VC++ and Visual Basic, .NET implements exceptions in a different way, and all .NET-supported languages (C# and VB .NET) share the same mechanism. Now Visual Basic developers can enjoy the same rich exception handling C++ developers have enjoyed. Discussing .NET exception handling is beyond the scope of this book; this chapter concentrates on ADO.NET exception handling classes.