Вопросы к Поиску с Алисой
Разница между throw и throw e в C# заключается в том, что throw используется для повторного выброса исключения, а throw e — для создания вновь созданного исключения. stackoverflow.com
throw может использоваться только в catch и пробрасывает пойманное этим catch исключение выше так, как будто его не поймали. ru.stackoverflow.com При этом он сохраняет трассировку стека (путь к источнику исключения). forum.itvdn.com
throw e берёт объект исключения и бросает его. ru.stackoverflow.com Этот объект поймает первый соответствующий catch выше по стеку. ru.stackoverflow.com В момент бросания к исключению привязывается стек вызовов, от того места, где был вызван throw e и выше. ru.stackoverflow.com Поймав этот объект выше, можно узнать точное место, где был вызван throw e. ru.stackoverflow.com