Can we handle the error and redirect to some pages using web.config?

Yes, we can do this, but to handle errors, we must know the error codes; only then we can take the user to a proper error message page, else it may confuse the user.
CustomErrors Configuration section in web.config file:

<customErrors mode="RemoteOnly" defaultRedirect="Customerror.aspx">
<error statusCode="404" redirect="Notfound.aspx" />
</customErrors>

If mode is set to Off, custom error messages will be disabled. Users will receive detailed exception error messages.
If mode is set to On, custom error messages will be enabled.
If mode is set to RemoteOnly, then users will receive custom errors, but users accessing the site locally will receive detailed error messages.
Add an < error > tag for each error you want to handle. The error tag will redirect the user to the Notfound.aspx page when the site returns the 404 (Page not found) error.
[Example]

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
Dim str As System.Text.StringBuilder
str.Append("hi") ' Error Line as str is not instantiated
Response.Write(str.ToString)
End Sub

[Web.Config]

<customErrors mode="On" defaultRedirect="Error.aspx"/>

a simple redirect will take the user to Error.aspx [user defined] error file.

<customErrors mode="RemoteOnly" defaultRedirect="Customerror.aspx">
<error statusCode="404" redirect="Notfound.aspx" />
</customErrors>

‘This will take the user to NotFound.aspx defined in IIS.

Tagged , . Bookmark the permalink.

Leave a Reply