An article on how to deal with Try Catch blocks (in VB, but the rules still apply in C#).
Using Try... Catch..., Finally![
^]
If your Exception is unhandled that is because the Exception cannot find any Catch blocks up the stack.
Catching an Exception and rethrowing it is not best practice, Use
Throw
instead. Catching an Exception and ONLY rethrowing it is just plain useless... When an Exception is handled at user level (the user has been notified) it is usually not necessary to throw again...