add proof exception handling