Add catch by value
Add tests for unhappy path catches