oh btw: this was a tough one. I had an failing assertion in the cb(). So that the error was catched here and passed to the layer above.
I think you meant to catch any error from eval, not from executing the cb(), right?