Chapter 8. Errors, Exceptions, and Bugs, Oh My!

Every computer programmer has run into bugs. It comes with the territory. Many bugs are found during the coding process. Others pop up only when an end user performs a specific and unusual sequence of steps or the program receives unexpected data. You should always try to find bugs early in the development process and avoid having end users find your bugs for you. Countless studies have shown that the earlier you find a bug, the easier and less expensive it is to fix.

If your program does run into a problem, you will want to recover quickly and invisibly, or, at worst, fail gracefully. ASP.NET provides tools and features to help reach these goals:

Tracing

You can trace program execution at either the page or application level. ASP.NET provides an extensible trace log with program life-cycle information.

Symbolic debugging

You can step through your program line by line, stop it as it is running, examine and modify variables and expressions, and step into and out of classes, even those written in other languages.

Error handling

You can handle standard or custom errors at the application or page level and display special error pages. You can also show different error pages for different errors.

There’s an additional technique for handling errors in your code: the try/catch block. A try block surrounds code that has a reasonable chance of causing a problem, such as a file not being found when you try to open it. The corresponding catch block contains ...

Get Learning ASP.NET 3.5, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.