What are the best practices to consider when catching exceptions and re-throwing them? I want to make sure that the Exception object\'s InnerException
You should always use "throw;" to rethrow the exceptions in .NET,
Refer this, http://weblogs.asp.net/bhouse/archive/2004/11/30/272297.aspx
Basically MSIL (CIL) has two instructions - "throw" and "rethrow":
Basically I can see the reason why "throw ex" overrides the stack trace.