Retornando exceções como mensagens JSON

Estou desenvolvendo uma API com o ASP.NET Core e estou tendo dificuldades com o tratamento de exceções.

Quando qualquer exceção ocorre ou em qualquer controlador em que desejo retornar erros personalizados com códigos de status diferentes, desejo retornar relatórios de exceção no formato JSON. Eu não preciso de um HTML nas respostas de erro.

Não tenho certeza se devo usar o middleware para isso ou outra coisa. Como devo retornar exceções JSON em uma API do ASP.NET Core?

questionAnswers(2)

yourAnswerToTheQuestion