Как правило, возврат сведений об исключении внешнему вызывающему абоненту считается плохой практикой с точки зрения безопасности и иным образом. Из-за этого имеет смысл блокировать эту информацию по умолчанию.
Я бы заменил throw;
на оператор, возвращающий ошибку, отформатированную вручную. Если у вас все в порядке с сообщением об исключении для вызывающего абонента, это просто, как
return httpRequest.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
Если вызывающая сторона внешняя, опять же, я бы этого не делал: вместо этого возвращаю общее сообщение об ошибке, а затем полагаюсь на ведение журнала для отладки.