ASP.NET REST controller with try-catch error handling
throw ex;



This is a fatal mistake. It'll create a new stack-trace and you won't be able to tell where the actual exception occured. If you want to rethrow it then use just

throw;


without  ex.