catch (ThreadAbortException) { } catch (Exception ex) { TraceManager.TraceException(ex, (int)ErrorCode.GENERIC_EXCEPTION,
It will be caught and lost. You should really only be catching exceptions that you can do something with or that you log and then rethrow (with throw; not throw new [some exception];).