ASP.NET核心异常和错误处理(8)
在本章中,我们将讨论异常和错误处理。当ASP.NET核心应用程序出现错误时,您可以通过各种方式进行处理。让我们看看如何通过添加中间件来处理异常,这将有助于我们处理错误。
为了模拟一个错误,让我们去应用程序,运行它,如果我们只是抛出一个异常,看看程序是如何工作的。
使用微软。AspNet . Builder使用微软。托管;使用微软。AspNet . Http使用微软。扩展。依赖注射;使用微软。扩展。配置;命名空间FirstAppDemo {公共类Startup { public Startup(){ var builder=new configuration builder()。AddJsonFile(' appsettings . JSON ');配置=构建器。build();}公共图标配置{ get设置;} //运行时调用此方法。//使用此方法向容器中添加服务。//有关如何配置应用程序的更多信息,请访问http://go.microsoft.com/fwlink/? LinkID=398940 public void ConfigureServices(IServiceCollection services){ }//此方法由运行时调用。//使用此方法配置HTTP请求管道。public void Configure(IApplicationBuilder应用程序){ app。useiis platformhandler();app。useruntimefopage();app。运行(异步(上下文)={抛出新系统。异常(“抛出异常”);var msg=配置['消息'];等待上下文。response . WriteAsync(msg);});} //应用程序的入口点。公共静态void Main(字符串[] args)=WebApplication。RunStartup(args);}}它只会抛出一个非常一般的异常消息。保存Startup.cs页面并运行您的应用程序。
您将看到我们未能加载此资源。有一个HTTP 500错误,一个内部服务器错误,那个页面帮助不大。获取一些异常信息可能会比较方便。
让我们添加另一个中间件,UseDeveloperExceptionPage。
//运行时调用此方法。//使用此方法配置HTTP请求管道。public void Configure(IApplicationBuilder应用程序){ app。useiis platformhandler();app。usedeveloper exception page();app。useruntimefopage();app。运行(异步(上下文)={抛出新系统。异常(“抛出异常”);var msg=配置['消息'];等待上下文。response . WriteAsync(msg);});}这个中间件和其他中间件有点不同,它通常会监听传入的请求,并对它们做出一些响应。
UseDeveloperExceptionPage并不太关心传入请求后管道中发生了什么。
它只是调用下一个中间件,然后等待查看管道中是否有异常。如果有异常,这个中间件会给你一个关于异常的错误页面。
现在让我们再次运行该应用程序。它将产生如下截图所示的输出。
现在,如果程序中有异常,您会在页面上看到一些您想要看到的异常信息。您还将获得一个堆栈跟踪:在这里,您可以看到在Startup.cs的第37行抛出了一个未处理的异常
所有这些异常信息对开发者来说都会非常有用。事实上,我们可能只想在开发人员运行应用程序时显示这些异常信息。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:ASP.NET核心异常和错误处理(8)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。