¿Cómo uso Application_Error en ASP.NET MVC?

Quiero usar Application_Error con mi proyecto MVC, pero no puedo hacer que funcione. Agrego lo siguiente a mi archivo Global.asax:

    protected void Application_Error(object sender, EventArgs e)
    {
        Exception objErr = Server.GetLastError().GetBaseException();
        Session["Test"] = "Message:" + objErr.Message.ToString();
    }

(La sesión es solo para pruebas. Voy a usar una base de datos para registrar un error, si logro que esto funcione). Luego trato de lanzar una excepción desde mi HomeController y mi Inicio / Vista de índice, pero solo activa la depuración.

    public ActionResult Index()
    {
        ViewData["Message"] = "Welcome to ASP.NET MVC!";
        throw (new Exception());
        return View();
    }

En mi archivo Webconfig configuro una página de configuración predeterminada, pero no redirige a la vista:

    <customErrors defaultRedirect="Home/Error">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>

Respuestas a la pregunta(2)

Su respuesta a la pregunta