@asbo - wqweto described best practice, so I really have nothing to add except that - yes it seems awkward, but what you've illustrated is typical / normal. It's usually farmed out to a ReThrow()/ReRaise() type of procedure that kicks the exception back to the caller. It's ugly - but at least looks cleaner than Err.Raise within the Handler.