> 백엔드 개발 > C#.Net 튜토리얼 > ASP.NET Core 예외 및 오류 처리(8)_실용 팁

ASP.NET Core 예외 및 오류 처리(8)_실용 팁

微波
풀어 주다: 2017-06-28 14:06:57
원래의
1547명이 탐색했습니다.

이 글에서는 ASP.NET 핵심 예외 및 오류 처리 관련 정보를 주로 소개합니다. 관심 있는 친구가 참고할 수 있습니다.

이 장에서는 예외 및 오류 처리에 대해 설명합니다. ASP.NET Core 애플리케이션에서 오류가 발생하면 다양한 방법으로 오류를 처리할 수 있습니다. 미들웨어를 추가하여 예외 처리를 살펴보겠습니다. 이 미들웨어는 오류를 처리하는 데 도움이 됩니다.

오류를 시뮬레이션하려면 애플리케이션으로 이동하여 실행하고 예외를 발생시키면 프로그램이 어떻게 작동하는지 살펴보겠습니다.

using Microsoft.AspNet.Builder; 
using Microsoft.AspNet.Hosting; 
using Microsoft.AspNet.Http; 
using Microsoft.Extensions.DependencyInjection; 
using Microsoft.Extensions.Configuration; 
namespace FirstAppDemo { 
 public class Startup { 
  public Startup() { 
   var builder = new ConfigurationBuilder() 
   .AddJsonFile("AppSettings.json"); 
   Configuration = builder.Build(); 
  } 
  public IConfiguration Configuration { get; set; } 
   
  // This method gets called by the runtime. 
  // Use this method to add services to the container. 
  // For more information on how to configure your application, 
  // visit http://go.microsoft.com/fwlink/?LinkID=398940 
  public void ConfigureServices(IServiceCollection services) { 
  } 
  
  // This method gets called by the runtime. 
  // Use this method to configure the HTTP request pipeline.
  public void Configure(IApplicationBuilder app) { 
   app.UseIISPlatformHandler(); 
   app.UseRuntimeInfoPage(); 
   
   app.Run(async (context) => { 
   throw new System.Exception("Throw Exception"); 
   var msg = Configuration["message"]; 
   await context.Response.WriteAsync(msg); 
   }); 
  } 
   
  // Entry point for the application. 
  public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
 } 
}
로그인 후 복사

매우 일반적인 예외 메시지가 발생합니다. Startup.cs 페이지를 저장하고 애플리케이션을 실행합니다.

이 리소스를 로드하지 못한 것을 볼 수 있습니다. HTTP 500 오류, 내부 서버 오류가 있었고 해당 페이지는 별로 도움이 되지 않았습니다. 일부 예외 정보를 얻는 것이 편리할 수 있습니다.

다른 미들웨어 UseDeveloperExceptionPage를 추가해 보겠습니다.

// This method gets called by the runtime. 
// Use this method to configure the HTTP request pipeline. 
public void Configure(IApplicationBuilder app) { 
 app.UseIISPlatformHandler(); 
 app.UseDeveloperExceptionPage(); 
 app.UseRuntimeInfoPage(); 
 
 app.Run(async (context) => { 
  throw new System.Exception("Throw Exception"); 
  var msg = Configuration["message"]; 
  await context.Response.WriteAsync(msg); 
 }); 
}
로그인 후 복사

이 미들웨어는 일반적으로 들어오는 요청을 수신하고 요청에 일부 응답하는 다른 미들웨어와 약간 다릅니다.

UseDeveloperExceptionPage는 나중에 파이프라인에서 들어오는 요청에 어떤 일이 일어나는지 별로 신경 쓰지 않습니다.

다음 미들웨어를 호출한 다음 파이프라인에 예외가 있는지 확인하기 위해 기다립니다. 예외가 있으면 이 미들웨어는 예외에 대한 오류 페이지를 제공합니다.

이제 다시 애플리케이션을 실행해 보겠습니다. 그러면 아래 스크린샷과 같은 출력이 생성됩니다.

이제 프로그램에서 예외가 발생하면 보고 싶은 몇 가지 예외 정보가 페이지에 표시됩니다. 또한 스택 추적도 얻을 수 있습니다. 여기에서는 Startup.cs의 37번째 줄에서 처리되지 않은 예외가 발생한 것을 볼 수 있습니다.

이 모든 예외 정보는 개발자에게 매우 유용합니다. 실제로 개발자가 애플리케이션을 실행할 때만 이러한 예외 메시지가 표시되기를 원할 수도 있습니다.

위 내용은 ASP.NET Core 예외 및 오류 처리(8)_실용 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿