Error Handling public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseIISPlatformHandler(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } public static void HomePage(IApplicationBuilder app) { app.Run(async (context) => { if (context.Request.Query.ContainsKey("throw")) { throw new Exception("Exception triggered!"); } var builder = new StringBuilder(); builder.AppendLine("<html><body>Hello World!"); builder.AppendLine("<ul>"); builder.AppendLine("<li><a href="/?throw=true">Throw Exception</a></li>"); builder.AppendLine("<li><a href="/missingpage">Missing Page</a></li>"); builder.AppendLine("</ul>"); builder.AppendLine("</body></html>"); context.Response.ContentType = "text/html"; await context.Response.WriteAsync(builder.ToString()); }); } app.UseExceptionHandler("/Error"); [Route("/Error")] public IActionResult Index() { // Handle error here } Configuring Status Code Pages app.UseStatusCodePages(); app.UseStatusCodePages(context => context.HttpContext.Response.SendAsync("Handler, status code: " + context.HttpContext.Response.StatusCode, "text/plain")); app.UseStatusCodePages("text/plain", "Response, status code: {0}"); app.UseStatusCodePagesWithRedirects("~/errors/{0}"); app.UseStatusCodePagesWithReExecute("/errors/{0}"); If you need to disable status code pages for certain requests, you can do so using the following code: var statusCodePagesFeature = context.Features.Get<IStatusCodePagesFeature>(); if (statusCodePagesFeature != null) { statusCodePagesFeature.Enabled = false; }