- The basic difference is that 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 retains the stack information and adds to the stack information in the exception that it is thrown.