capturar todas as exceções sem tratamento no ASP.NET Web Api

Como eu pegotodos exceções não tratadas que ocorrem no ASP.NET Web Api para que eu possa registrá-los?

Até agora eu tentei:

Crie e registre umExceptionHandlingAttributeImplemente umApplication_Error método emGlobal.asax.csInscrever-se paraAppDomain.CurrentDomain.UnhandledExceptionInscrever-se paraTaskScheduler.UnobservedTaskException

oExceptionHandlingAttribute manipula com êxito as exceções que são lançadas nos métodos de ação do controlador e nos filtros de ação, mas outras exceções não são tratadas, por exemplo:

Exceções lançadas quando umIQueryable retornado por um método de ação falha ao executarExceções geradas por um manipulador de mensagens (por exemplo,HttpConfiguration.MessageHandlers)Exceções geradas ao criar uma instância do controlador

Basicamente, se uma exceção for causar um Erro Interno do Servidor 500 a ser retornado ao cliente, eu quero que ele seja registrado. ImplementandoApplication_Error fez esse trabalho bem em Web Forms e MVC - o que posso usar no Web Api?

questionAnswers(5)

yourAnswerToTheQuestion