The proper way to re-throw an exception.
Good post here. I didn't know that “throw;” is different than throwing the exception you're handling, but it is different because when you throw it, the call stack leading to the code that did throw it is lost.