Error Handling Method 2: Day 2 of 23

This article explains error handling using the HandleError() attribute at the controller level.

Step 1

Create a MVC project from the "Empty" template. Right-click on "Controllers" and select "Add" >> "Controller...".

Step 2

Select "MVC 5 Controller - Empty" to add an empty controller. Click on the "Add" button.

Step 3

Name the controller "HomeController". The Index() action result method will be added.

Step 4

To add a view, right-click on "Index" and select "Add View...".

Step 5

Name the view and select "Empty (without model)" as the template. Click on the "Add" button.

Step 6

Now we need to create a custom error page so that when an error occurrs, this custom error page is displayed. This error page is common for all kinds of errors generated by any page. So we create it under the shared folder.

Right-click on “Views”, select “Add” >> “New Folder”.

add new folder

Step 7

Name the folder "Shared", this will create a "Shared" folder under the view.

shared folder

Step 8

Right-click on the "Shared" folder and select "Add" >> "View…"

shared folder property

Step 9

Name the view "Error" and select "Empty (without model)" as the template.

name the view as error

Step 10

Design your desired custom error page in Error.cshtml.

error cshtml

Step 11

Open the web.config file, set the customErrors mode=”On” under system.web. If you do not want to display a custom error page then you can set it to “Off”.

customerErrors mode

Step 12

The Handle error attribute handles an exception thrown by an action method. Apply the HandleError() attribute above the home controller, it will work for all action methods of the home controller. Generate an exception inside the index action method.


Step 13

Now run the project and you will get a NullReferenceException since the session "temp" is not available.

Null Reference Exception

Step 14

Press "F5" and our custom error page is displayed.

Custom Error Page
<< Error Handling Method 1: Day 1 of 23                      Error Handling Method 3: Day 3 of 23 >>           

Similar Articles