Lots more test cases and try/catch support