switched from if/else to try/catch in column descriptor.__get__ for performance improvement