Está en la página 1de 3

2/7/2020 ASP.

NET Core - Excepciones - Tutorialspoint

ASP.NET Core - Excepciones

En este capítulo, discutiremos excepciones y manejo de errores . Cuando se producen


errores en su aplicación ASP.NET Core, puede manejarlos de varias maneras. Veamos una
pieza adicional de middleware que está disponible a través del paquete de diagnósticos. Esta
pieza de middleware nos ayudará a procesar errores.
Para simular un error, vayamos a la aplicación. Ejecute y vea cómo se comporta la aplicación
si solo lanzamos una excepción cada vez que golpeamos este middleware.

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);
});
}
https://www.tutorialspoint.com/asp.net_core/asp.net_core_exceptions.htm 1/3
2/7/2020 ASP.NET Core - Excepciones - Tutorialspoint
}

// Entry point for the application.


public static void Main(string[] args) => WebApplication.Run<Startup>(args)
}
}

Solo lanzará una excepción con un mensaje muy genérico. Guarde la página Startup.cs y
ejecute su aplicación.

Verá que no hemos podido cargar este recurso. Hubo un error HTTP 500, un error interno del
servidor, y eso no es muy útil. Puede ser bueno obtener alguna información de excepción.
Agreguemos otra pieza de middleware, que es la página 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);
});
}

Esta pieza de middleware es un poco diferente a las otras piezas de middleware, las
otras piezas de middleware generalmente miran la solicitud entrante y toman alguna
decisión sobre esa solicitud.
https://www.tutorialspoint.com/asp.net_core/asp.net_core_exceptions.htm 2/3
2/7/2020 ASP.NET Core - Excepciones - Tutorialspoint

UseDeveloperExceptionPage no se preocupa tanto por las solicitudes entrantes como


por lo que sucede más adelante en la tubería.
Simplemente llamará a la siguiente pieza de middleware, pero luego esperará para ver
si algo más adelante en la tubería genera una excepción y si hay una excepción, esta
pieza de middleware le dará una página de error con algunos información adicional
sobre esa excepción.
Permítanos ahora ejecutar la aplicación nuevamente. Producirá una salida como se muestra en
la siguiente captura de pantalla.

Ahora verá información que esperaría si hubiera un error en el desarrollo. También obtendrá un
seguimiento de la pila y podrá ver que se produjo una excepción no controlada en la línea 37
de Startup.cs.
También puede ver detalles de excepción sin procesar y toda esta información puede ser muy
útil para un desarrollador. De hecho, probablemente solo queremos mostrar esta información
cuando un desarrollador está ejecutando la aplicación.

https://www.tutorialspoint.com/asp.net_core/asp.net_core_exceptions.htm 3/3

También podría gustarte