我正在浏览 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 但仍然出现错误页面。