Home > Articles > Microsoft > Other Microsoft

MCAD/MCSD: Error Handling for the User Interface

  • Print
  • + Share This
This sample chapter covers the Microsoft-specified objectives for the Creating User Services section of the Visual Basic .NET Windows-Based Applications exam.
This chapter is from the book


This chapter covers the following Microsoft-specified objectives for the Creating User Services section of the Visual Basic .NET Windows-Based Applications exam:

  • Implement error handling in the UI.

  • Create and implement custom error messages.

  • Create and implement custom error handlers.

  • Raise and handle errors.

When you run a Windows application, it might encounter problems that should not crop up in the normal course of operations. For example, a file might be missing, or a user might enter nonsensical values. A good Windows application must recover gracefully from these problems instead of abruptly shutting down. This exam objective covers the use of exception handling to create robust and fault tolerant applications. The Microsoft .NET Framework provides some predefined exception classes to help you catch these unusual situations in your programs. You can also create your own exception handling classes and error messages that are specific to your own applications.

Validate user input.

It's a truism of computer programming that garbage-in is garbage-out. The best place to avoid incorrect data in an application is at the source, right where the data enters. The Windows Forms library includes an ErrorProvider control, which can be used to display messages, icons, and other information in response to data entry errors. This exam objective covers the ErrorProvider control and various other input validation techniques.


  • Introduction

  • Understanding Exceptions

  • Handling Exceptions

    • The Try Block

    • The Catch Block

    • The Throw Statement

    • The Finally Block

  • Custom Exceptions

  • Managing Unhandled Exceptions

  • User Input Validation

    • Keystroke-Level Validation

      • The KeyPreview Property

    • Field-Level Validation

      • The Validating Event

      • The CausesValidation Property

      • ErrorProvider

    • Enabling Controls Based On Input

    • Other Properties for Validation

      • The CharacterCasing Property

      • The MaxLength Property

  • Chapter Summary

  • Apply Your Knowledge

Study Strategies

  • Review the "Exception Handling Statements" and "Best Practices for Exception Handling" sections of the Visual Studio .NET Combined Help Collection.

  • Experiment with code that uses Try, Catch, and Finally blocks. Use these blocks with various combinations and inspect the differences in your code's output.

  • Know how to create custom Exception classes and custom error messages in your program.

  • Experiment with the ErrorProvider component, the Validating event, and other validation techniques. Use these tools in various combinations to validate data entered in the controls.


The .NET Framework adopts the Windows structured exception handling model. Exception handling is an integral part of the .NET Framework. The Common Language Runtime and your code can throw exceptions within an application, across languages, and across machines. Visual Basic .NET provides a structured method for handling exceptions with the use of the Try, Catch, Finally, and Throw statements. The .NET Framework Class Library provides a huge set of exception classes to deal with various unforeseen or unusual conditions in the normal execution environment. If you feel the need to create custom Exception classes to meet specific requirements of your application, you can derive from the ApplicationException class.

Every program must validate the data it receives before it proceeds with further data processing or storage. In this chapter I'll discuss the various techniques you can use to validate data and maintain the integrity of your application. This isn't just a matter of ensuring that your application delivers the proper results. If you don't validate input, your application can represent a serious security hole on the system.

  • + Share This
  • 🔖 Save To Your Account