帶着問題去思考!大家好!
處理異常的方式有
- 1:異常處理頁
- 2:異常處理匿名委托方法
- 3:IExceptionFilter
- 4:ExceptionFilterAttribut
這裡我們可以 新建立一個Startup,實作我們定義的IStartup接口,接口的定義主要是為了實作其他的服務注冊和配置應用程式請求管道(IApplicationBuilder)。
/// <summary>
/// 配置應用程式啟動時異常進行中間件
/// </summary>
public class ErrorHandlerStartup : IStartup
{
/// <summary>
/// Add and configure any of the middleware
/// </summary>
/// <param name="services">Collection of service descriptors</param>
/// <param name="configuration">Configuration root of the application</param>
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
}
/// Configure the using of added middleware
/// <param name="application">Builder for configuring an application's request pipeline</param>
public void Configure(IApplicationBuilder application)
{
//異常處理
application.UseExceptionHandler();
//400處理
application.UseBadRequestResult();
//404處理
application.UsePageNotFound();
}
這裡的三個方法分别實作了以上處理方式
第一個方法我們實作了IApplicationBuilder的UseExceptionHandler
1:這裡具體我們通過Run來進行啟動
2:通過HttpContext的IFeatureCollection(表示HTTP特性的集合) 來擷取Error
View Code
第二個方法IApplicationBuilder的UseStatusCodePages(添加帶有給定選項的StatusCodePages中間件,用于檢查狀态代碼在400到599之間且沒有正文的響應。)來實作
第三種我們通過IApplicationBuilder的UseStatusCodePages