30 lines
872 B
C#
30 lines
872 B
C#
using Microsoft.AspNetCore.Diagnostics;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace OI.Metrology.Server.Controllers;
|
|
|
|
[Route("/error")]
|
|
public class ErrorHandlerController : Controller
|
|
{
|
|
private readonly ILogger _Logger;
|
|
|
|
public ErrorHandlerController(ILogger<ErrorHandlerController> logger) => _Logger = logger;
|
|
|
|
public IActionResult Index()
|
|
{
|
|
IExceptionHandlerFeature? error = HttpContext.Features.Get<IExceptionHandlerFeature>();
|
|
if (error is null)
|
|
{
|
|
return Redirect("~/");
|
|
}
|
|
else
|
|
{
|
|
_Logger.LogError("Unhandled exception: " + error.Error.ToString());
|
|
dynamic r = new
|
|
{
|
|
Message = error.Error is null ? "Error" : error.Error.Message
|
|
};
|
|
return StatusCode(StatusCodes.Status500InternalServerError, r);
|
|
}
|
|
}
|
|
} |