why isn't the return null inside the `catch`, like in the `set` method?