catch unexpected exceptions in consumer thread