3 回答
TA贡献1921条经验 获得超9个赞
据我了解,您想在 'res = undefined; 行抛出异常;//测试:添加以创建错误'。为此目的使用 try catch。(err) 块用于处理 http 错误。例如,在 C# 中,在操作结果中键入以下内容:
[HttpGet("Get/{id}")]
public async Task<ActionResult<UserDto>> Get(long id)
{
ServiceResult<IEnumerable<UserBo>> result = await serviceManager.User_Service.FindAsync(filterCriteria);
if (result.Success)
{
userBo = result.Data.FirstOrDefault();
if (userBo == null)
return NotFound();
else
{
ServiceResult<bool> resultAutorized = await GetAutorizedUserStatusById(userBo);
if (!resultAutorized.Success || !resultAutorized.Data)
return BadRequest("unauthorized access");
}
UserDto userDto = UserBo.ConvertToDto(userBo);
return userDto;
}
else
{
return BadRequest(result.Error);
}
.FirstOrDefaultAsync();
}
注意这一行: return BadRequest("未经授权的访问");
TA贡献1836条经验 获得超4个赞
这不像try/catch
。订阅错误块的到达取决于 HTTP 代码状态(403,404,500 等),而不是脚本执行错误。您的测试只是使脚本崩溃,而不是模拟 HTTP 错误代码。
TA贡献1848条经验 获得超2个赞
我假设您的 searchGetCall 是一个网络请求,并且它返回一个可观察值。当您的 Web 请求返回 http 状态代码错误时,您的错误块将被执行。
添加回答
举报