If I recall the book correctly, that code is supposed to work around an issue in the way the CLR is implemented on Windows. Even though the CLR will know the full stack trace if you rethrow an exception this way;
void SomeMethod() {
try {
}
catch {
throw;
]
}
Windows will create a new stack frame from the re throw point. This isn't an issue if you catch and log the exception, as that will give you the correct stack trace, but if it crashes the application (because it's un-handled) and you need to use something like
windbg to inspect the crash dump, the original originating point of the exception will be lost.
In most cases you don't need to worry about this, it's often better just to add an uncaught exception handler that logs the exception and it's stack trace, that's easier to use as a basis for trouble shooting than
windbg (or at least, it often is).
Hope this helps,
Fredrik