

Navigator : Home > Tutorials > Error Handling Tutorials > ...
Throwing an Exception using ASP.NET 2.0 and VB .NET
This tutorial will show you how to throw exceptions using ASP.NET 2.0 and VB.NET
Throwing exceptions are easy to do in C# .NET.
I just signed up at Server Intellect and couldn't be more pleased with my Windows Server! Check it out and see for yourself.
In this example we will be throwing exceptions when trying to create a directory in the filesystem, so we will need the System.IO namespace. 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 a finally block. In this example, we are specifying that our catch blocks handles exceptions of the type PathTooLongException and ArgumentException. We are also adding an if block that will throw an ArgumentException if there is a "\" character in the directory name.
Try
Directory.CreateDirectory(MapPath(".") & "\" & txtDir.Text) ' adding this line throws an ArgumentException even if the \ character is normally valid If txtDir.Text.Contains("\") Then
Throw New ArgumentException("Directory name cannot contain the ""\"" character") End If 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 lblStatus.Text += ex.Message + Constants.vbCr Catch ex As Exception
lblStatus.Text = ex.Message End Try |
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 /> <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) ' adding this line throws an ArgumentException even if the \ character is normally valid If txtDir.Text.Contains("\") Then
Throw New ArgumentException("Directory name cannot contain the ""\"" character") End If 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 lblStatus.Text += ex.Message + Constants.vbCr Catch ex As Exception
lblStatus.Text = ex.Message End Try End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub End Class |
Try Server Intellect for Windows Server Hosting. Quality and Quantity!
Looking for the C#.NET 2005 Version? Click Here!
Looking for more ASP.NET Tutorials? Click Here!