"throw "and "throw new" Exception()
In the above case rethrows the original exception and preserves its original stack trace. It propagates the full stack information to the caller.
In the above case, throws the original exception but resets the stack trace , destroying all stack trace information until your catch block. This means that, it excludes stack information from the point where you called "Throw ex" .