My perpetual restart mechanism was missing the key element, the part that prevents an exception from killing the thread. Also, exceptions thrown in handlers shouldn't propigate to the level where it would crash the bot.