Okay, enough about exceptions. You're here to learn how to debug your program, and here's the good news: .NET provides extensive support for debugging. Visual Studio .NET provides even more support. Together, .NET and Visual Studio .NET make it much easier to find and remove most of the bugs in your program.
Notice that I said most. I'll go further, nearly allbut not all, I'm afraid. Never all. The sad but honest state of the industry is that the likelihood of there being bugs in your program is directly proportional to the complexity of your project. Most modern commercial projects are insanely complex, and a certain number of bugs are (nearly) inevitable in any real project. In addition, software attracts bugs like bread crumbs attract insects. Spray all you want, and you'll still find an ant or two in the pantry.
Bugs and Myths
Countless computer books attribute the term "bug" to the finding of a moth in the Mark II computer in the 1940s by the legendary computer science pioneer Grace Murray Hopper. However, the Oxford English Dictionary cites the use of the term bug as "a defect or fault in a machine, plan or the like" going back to 1889. In that year, the Pall Mall Gazette (March 11) reported that "Mr. [Thomas] Edison...had been up the two previous nights discovering a `bug' in his phonographan expression for solving a difficulty, and implying that some imaginary insect has secreted itself inside and is causing all the trouble.Sidebar 21-1
This debunking is based on a report by Fred R. Shapiro (associate librarian for public services and lecturer in legal research at Yale Law School) reported on Byte.com (http://www.byte.com/art/9404/sec15/art1.htm).