Server Intellect
 
Home   Asp.Net Tutorials   What's New   Newsletter   More Resources
 
 
  Categories
Advanced Technologies
AJAX
Internet Browsers
Controls
Database
Email
Error Handling
File
Graphics
Website Navigation
Network
Performance
User Interface and Themes
Validation
Visual Web Developer
Web Services
XML
Suggest Tutorial


Navigator: Home - Tutorials - Error Handling - Catch Multiple Exceptions using ASP.NET 2.0 and C# .NET
Catch Multiple Exceptions using ASP.NET 2.0 and C# .NET


ASP.NET Error Handling Tutorial

This tutorial will show you how to catch multiple exceptions using ASP.NET 2.0 and C#.NET

The .NET Framework offers a number of exception types that makes specifying multiple catch .. finally constructs easy.

In this example we will be catching exceptions when trying to create a directory in the filesystem, so we will need the System.IO namespace. We will also be specifying a finally block which ensures that some code will always execute after the try block executes. Our code will catch two exceptions if the user tries to create a directory that is 248 characters long or tries to specify an invalid character within the directory name (such as the asterisk character).

using System.IO;

We migrated our web sites to Server Intellect over one weekend and the setup was so smooth that we were up and running right away. They assisted us with everything we needed to do for all of our applications. With Server Intellect's help, we were able to avoid any headaches!

We'll put our code in the btnSubmit_Click() event.

When the btnSubmit_Click() event fires it runs a try block. The try block does two things: it lets exceptions thrown during the try block's execution to be caught by the catch block(s) below and ensures that execution can't leave the try block without running the finally block. In this example, we are specifying that our catch blocks handles exceptions of the type PathTooLongException and ArgumentException. We are also specifying a finally block which will execute immediately after our catch block(s).

try
{
Directory.CreateDirectory(MapPath(".") + "\\" + txtDir.Text);
}
catch (PathTooLongException ex)
{
lblStatus.Text = "There was an PathTooLongException when creating the directory";
lblStatus.Text += " in " + MapPath(".") + "\\" + "\r";
}
catch (ArgumentException ex)
{
lblStatus.Text = "There was a ArgumentException when creating the directory";
lblStatus.Text += " in " + MapPath(".") + "\\" + "\r";
}
catch (Exception ex)
{
lblStatus.Text = ex.Message;
}
finally
{
if (txtDir.Text.Length >= 248)
{
lblStatus.Text += "Directory length must be less than 248 chars!" + "\r";
}
}

We moved our web sites to Server Intellect and have found them to be incredibly professional. Their setup is very easy and we were up and running in no time.

We have one textbox,a Submit button, and a label on the front end for user interaction. The front end .aspx page looks something like this:

<table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#cccccc">
<tr>
<td width="100" align="right" bgcolor="#eeeeee" class="header1"> Catching an Exception:</td>
<td align="center" bgcolor="#FFFFFF">
Directory:<asp:TextBox ID="txtDir" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" /><br />
&nbsp;<asp:label ID="lblStatus" runat="server"></asp:label></td>
</tr>
</table>

I just signed up at Server Intellect and couldn't be more pleased with my Windows Server! Check it out and see for yourself.

The flow for the code behind page is as follows.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
Directory.CreateDirectory(MapPath(".") + "\\" + txtDir.Text);
}
catch (PathTooLongException ex)
{
lblStatus.Text = "There was an PathTooLongException when creating the directory";
lblStatus.Text += " in " + MapPath(".") + "\\" + "\r";
}
catch (ArgumentException ex)
{
lblStatus.Text = "There was a ArgumentException when creating the directory";
lblStatus.Text += " in " + MapPath(".") + "\\" + "\r";
}
catch (Exception ex)
{
lblStatus.Text = ex.Message;
}
finally
{
if (txtDir.Text.Length >= 248)
{
lblStatus.Text += "Directory length must be less than 248 chars!" + "\r";
}
}
}
}

Download the Full Working Version of this Project written with Visual Studio.NET C#.NET 2005 Here!

Looking for the VB.NET 2005 Version? Click Here!

Looking for more ASP.NET Tutorials? Click Here!





 
  Developer Resources







Server Intellect Rocks