11.3. Exception Handling

No matter how well you attempt to anticipate bad program input, the chance exists that something will slip through the cracks. When an error condition presents itself in a program, C# produces an exception. An exception is simply an undesired program state. Note that an exception really isn't a program bug. As I pointed out earlier, a bug is a programmer mistake and you must correct that yourself. Still, unexpected things can occur while the program runs even if there are no bugs in the program. For example, if you're writing a program that copies data to a CD and the user forgot to load a blank CD into the CD drive, the program generates an exception. The simple program shown in Listing 11-1 illustrates an exception.

Example 11-1. Listing 11-1
using System;
using System.Windows.Forms;

public class frmMain : Form
{
    private Button btnCalc;

    #region Windows code

    public frmMain()
    {
        InitializeComponent();
    }

    public static void Main()
    {
        frmMain main = new frmMain();
        Application.Run(main);
    }

    private void btnCalc_Click(object sender, EventArgs e)
    {
        int exp1 = 0;
        int exp2 = 5;
        int result;

        result = exp2 / exp1;

    }
}

The program is just a standard C# form with a single button object on it. In the click event for the button object, note that exp1 is set to 0 and exp2 to 5. Dividing a value by zero produces a divide-by-zero exception. As it stands, if you run this program outside the Visual Studio environment, the program pops up the exception notification shown in ...

Get Beginning C# 3.0 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.