Sunday, 24 July 2011

Specific Exceptions using ASP.NET 2.0 and VB .NET


This tutorial will show you how to catch an exception using ASP.NET 2.0 and VB.NET

The .NET Framework offers a number of types that makes catching exceptions easy.

In this example we will be catching a specific exception when trying to create a directory in the filesystem, so we will need the System.IO namespace. Our code will catch an exception when we try to create a directory that is 248 characters long and should raise the PathTooLongException.

Imports System.IO

We used over 10 web hosting companies before we found Server Intellect. Their dedicated servers and add-ons were setup swiftly, in less than 24 hours. We were able to confirm our order over the phone. They respond to our inquiries within an hour. Server Intellect's customer support and assistance are the best we've ever experienced.

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 block handles exceptions of the type PathTooLongException.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'on windows-based platforms, paths must be less than 248 characters
txtDir.Text = New String("A"c, 248)
End Sub

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(".") & "\"
End Try
End Sub

Server Intellect offers Windows Hosting Dedicated Servers at affordable prices. I'm very pleased!

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>

Need help with Windows Dedicated Hosting? Try Server Intellect. I'm a happy customer!

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(".") & "\"
End Try
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'on windows-based platforms, paths must be less than 248 characters
txtDir.Text = New String("A"c, 248)
End Sub
End Class

Looking for the C#.NET 2005 Version? Click Here!

Looking for more ASP.NET Tutorials? Click Here!

No comments:

Post a Comment