Exceptions thrown during execution of the on_block handler don't even get properly logged, they are just being output to stdout/stderr(?).
I would recommend logging them, and also thinking about what should actually happen when an exception occurs. It happens every now and then that the parity/geth rpc doesn't respond in time, but I don't think it should be a reason for the keeper to terminate... I am personally against it.