Throw exceptions instead of dying