catch and report exceptions, but keep on going