
Navigator : Home > Tutorials > Error Handling Tutorials > ...
Catch Multiple Exceptions using ASP.NET 2.0 and VB .NET
This tutorial will show you how to catch multiple exceptions using ASP.NET 2.0 and VB.NET
The .NET Framework offers a number of exception types that makes specifying multiple catch .. finally constructs easy.
We are using Server Intellect and have found that by far, they are the most friendly, responsive, and knowledgeable support team we've ever dealt with!
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).
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 ex As PathTooLongException lblStatus.Text = "There was an PathTooLongException when creating the directory" lblStatus.Text &= " in " & MapPath(".") & "\" & Constants.vbCr Catch ex As ArgumentException
lblStatus.Text = "There was a ArgumentException when creating the directory" lblStatus.Text &= " in " & MapPath(".") & "\" & Constants.vbCr Catch ex As Exception
lblStatus.Text = ex.Message Finally
If txtDir.Text.Length >= 248 Then
lblStatus.Text &= "Directory length must be less than 248 chars!" & Constants.vbCr End If End Try |
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:
Yes, it is possible to find a good web host. Sometimes it takes a while. After trying several, we went with Server Intellect and have been very happy. They are the most professional, customer service friendly and technically knowledgeable host we've found so far.
<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 /> <asp:label ID="lblStatus" runat="server"></asp:label></td> </tr> </table> |
The flow for the code behind page is as follows.
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Try
Directory.CreateDirectory(MapPath(".") & "\" & txtDir.Text) Catch ex As PathTooLongException
lblStatus.Text = "There was an PathTooLongException when creating the directory" lblStatus.Text &= " in " & MapPath(".") & "\" & Constants.vbCr Catch ex As ArgumentException
lblStatus.Text = "There was a ArgumentException when creating the directory" lblStatus.Text &= " in " & MapPath(".") & "\" & Constants.vbCr Catch ex As Exception
lblStatus.Text = ex.Message Finally
If txtDir.Text.Length >= 248 Then
lblStatus.Text &= "Directory length must be less than 248 chars!" & Constants.vbCr End If End Try End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub End Class |
We chose Server Intellect for its dedicated servers, for our web hosting. They have managed to handle virtually everything for us, from start to finish. And their customer service is stellar.
Looking for the C#.NET 2005 Version? Click Here!
Looking for more ASP.NET Tutorials? Click Here!