You should not catch Exception or SystemException. Catching generic exception types can hide run-time problems from the library ...