startup: catch std::exception instead of std::runtime_error

this is because OPM code often throws different exceptions in
particular std::logic_error...