0

我正在浏览 abp 的博客模块。在 post repo 中有如下代码。 https://github.com/abpframework/abp/blob/dev/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs

public async Task<Post> GetPostByUrl(Guid blogId, string url)
{
    var post = await DbSet.FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url);

    if (post == null)
    {
        throw new EntityNotFoundException(typeof(Post), nameof(post));
    }

    return post;
}

我正在测试模块,如果没有实体,我会遇到类似打击的错误。

处理请求时发生未处理的异常。EntityNotFoundException:没有这样的实体。实体类型:Volo.Blogging.Posts.Post,id:EfCorePostRepository.cs 第 35 行中的 post Volo.Blogging.Posts.EfCorePostRepository.GetPostByUrl(Guid blogId, string url)

如果没有实体,出现这个异常是正常的,但是如何向用户显示 404 页面或消息,就像没有记录一样?我试图抛出 UserFriendlyException 但仍然出现错误页面。

4

0 回答 0