Sample project required. Exception that has been handled won't return. i.e. if EDatabaseError (or its descendants) is raised by ExecSQL and handled by on e: EDatabaseError, then after that, normal program flow continues. The second one must be triggered by another thing, could be the same method, I don't know as I can't see the complete code.