fixed overzealous exception catching