This sample chapter covers creating and implementing custom error messages and handlers, along with raising and handling errors. These are Microsoft-specified objectives for the Creating User Services section of the Visual Basic .NET Windows-Based Applications exam.

When you run a Windows application, it may encounter problems that you
thought would not occur. For example, the database server is down, a file is
missing, or a user has entered improper values. A good Windows application must
recover gracefully from this problem rather than abruptly shut 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 exceptional situations in
your programs. It allows you to create your own exception handling classes and
error messages that are specific to your application.

Validate user input.

Garbage in results in 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 provides an ErrorProvider component that can be used to
display helpful error messages and error icons if data that is entered is
incorrect. This exam objective covers the ErrorProvider component and
various other input-validation techniques.

Outline

Introduction

Understanding Exceptions

Handling Exceptions

The try Block

The catch Block

The throw Statement

The finally Block

Creating and Using Custom Exceptions

Managing Unhandled Exceptions

Validating User Input

Keystroke-Level Validation

The KeyPreview Property

Field-Level Validation

The Validating Event

The CausesValidation Property

The ErrorProvider Component

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 the "Best
Practices for Exception Handling" sections of the Visual Studio .NET
Combined Help Collection. The Visual Studio .NET Combined Help Collection is
installed as part of the Visual Studio .NET installation.

Experiment with code that uses the 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;
learn to implement them in a program.

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

Introduction

The .NET Framework uses the Windows structured exception handling model.
Exception handling is an integral part of the .NET Framework that allows the
Common Language Runtime (CLR) and your code to throw exceptions across languages
and machines. Visual C# .NET helps you fire and handle these exceptions with the
help of try, catch, finally, and throw
statements. The Framework Class Library (FCL) provides a huge set of exception
classes for dealing with various unforeseen conditions in the normal execution
environment. If you feel the need to create custom exception classes to meet the
specific requirements of an application, you can do so by deriving from the
ApplicationException class.

In every program data must be validated before the program can proceed with
further processing and storage of the input data. In this chapter I discuss the
various techniques you can use to validate data and maintain the integrity of an
application. This isn't just a matter of making sure that your application
delivers the proper results; if you don't validate input, your application
might represent a serious security hole in your systems.