The Throw exception overwrites the stack trace and this makes
it hard to find the original code line number that has thrown the exception.Throw clause basically retains the stack information and adds to the stack information
in the exception that it is thrown.