diff --git a/src/modules/data/wrap_DataModule.cpp b/src/modules/data/wrap_DataModule.cpp index 42fb1ba76..69604ddc7 100644 --- a/src/modules/data/wrap_DataModule.cpp +++ b/src/modules/data/wrap_DataModule.cpp @@ -62,7 +62,8 @@ int w_newDataView(lua_State *L) if (offset < 0 || size < 0) return luaL_error(L, "DataView offset and size must not be negative."); - DataView *d = instance()->newDataView(data, (size_t) offset, (size_t) size); + DataView *d; + luax_catchexcept(L, [&]() { d = instance()->newDataView(data, (size_t) offset, (size_t) size); }); luax_pushtype(L, d); d->release();