try/catch around callback only (fix #34)