diff --git a/apps/openmw/mwworld/livecellref.cpp b/apps/openmw/mwworld/livecellref.cpp index 0921d3a1b5..dd313632b8 100644 --- a/apps/openmw/mwworld/livecellref.cpp +++ b/apps/openmw/mwworld/livecellref.cpp @@ -30,8 +30,18 @@ void MWWorld::LiveCellRefBase::loadImp (const ESM::ObjectState& state) { if (const ESM::Script* script = MWBase::Environment::get().getWorld()->getStore().get().search (scriptId)) { - mData.setLocals (*script); - mData.getLocals().read (state.mLocals, scriptId); + try + { + mData.setLocals (*script); + mData.getLocals().read (state.mLocals, scriptId); + } + catch (const std::exception& exception) + { + std::cerr + << "failed to load state for local script " << scriptId + << " because an exception has been thrown: " << exception.what() + << std::endl; + } } } }