返回 NotFound() 或带有 404 页面的未处理异常

Posted

技术标签:

【中文标题】返回 NotFound() 或带有 404 页面的未处理异常【英文标题】:Return NotFound() or unhandled exception with a 404 page 【发布时间】:2017-10-29 23:28:27 【问题描述】:

我目前正在使用 ASP.NET Core,如何为未处理的异常或 NotFound() 设置 404 默认页面?

IActionResult Foo()

    throw new Exception("Message!");


IActionResult Bar()

    return NotFound("Message!");

我觉得有IApplicationBuilder.UseExceptionHandler的方法可以设置错误页面,但是不知道怎么配置。

【问题讨论】:

请查看这里***.com/questions/37690114/… @CarlosFerreira 这是一个不同的问题。 【参考方案1】:

这是配置状态代码页下的explained here

app.UseStatusCodePagesWithRedirects("/error/0");

你需要一个ErrorController,它看起来像:

public class ErrorController : Controller 

    public IActionResult Index(string errorCode)
    
        return View(errorCode);
    

需要调用您的视图(在错误文件夹中):

500.cshtml 404.cshtml

...等

【讨论】:

制作完这些页面后,如果我return NotFound("MyError!")我如何捕获错误字符串? 使用这种方法,你不能...它只是根据状态码重定向

以上是关于返回 NotFound() 或带有 404 页面的未处理异常的主要内容,如果未能解决你的问题,请参考以下文章

手动修改PHP页面返回状态码

404 Not Found 或错误请求?

打开网页显示404 Not Found 如何解决

django http404 详解

Vue Webpack:上传到共享主机 url 刷新后返回 404 Not Found

IIS绑定域名访问为404