角没有从.net核心获取异常消息

时间:2018-10-28 10:08:52

标签: c# angular asp.net-core error-handling

所以我想在控制台中获得一条带有消息的json数组,这与“您的直接经理没有您所在区域的帐户”是一样的。

但是我得到的只是“ https://localhost:44385/api/Option/Post的Http故障响应:500个内部服务器错误”

注意:在查看开发工具->网络->发布->响应时,它会显示html和css,其中包含正确的错误消息,但不知道如何从那里获取它。

控制器

[HttpPost("[action]")]
public void Post(Option option)
{
    throw new NoBudgetAccountException();
}

例外

[Serializable]
public class NoBudgetAccountException : Exception
{
    public NoBudgetAccountException() : base("Your direct manager have no account for your area.")
    {
    }
}

Angular apiService

addOrUpdateOption(option: ITrainingOption): Observable<Response> {
    return this.post<Response>("api/Option/Post", option);
  }

角度组件

submitOption(option: ITrainingOption) {
        this.apiService.addOrUpdateOption(option).subscribe(() => {
            this.isAddOptionShown = false;
            this.getHeadlines(this.selectedYear);
          },
          err => { console.log(err); });
      }

1 个答案:

答案 0 :(得分:1)

通常在使用

时使用.net内容
throw new Exception("This is a custom exception");

它实际上并未向您显示此消息,而是向您抛出了一个错误的html页面 enter image description here

如果您想返回一条消息并按角度进行解析,请改用IActionResult并返回BadRequest(“ message”)

    [HttpPost("[action]")]
    public IActionResult test(Option option)
    {
        return BadRequest("This is an error message");
    }

完成此操作后,您的错误消息应显示在err.error

enter image description here