add exception control in execute