diff --git a/mta-mono/src/CMonoClass.cpp b/mta-mono/src/CMonoClass.cpp index f859ae6..9bb8ea0 100644 --- a/mta-mono/src/CMonoClass.cpp +++ b/mta-mono/src/CMonoClass.cpp @@ -141,14 +141,21 @@ MonoObject* CMonoClass::New( void** args, int argc ) return nullptr; } - CMonoMethod* pMethod = this->GetMethod( ".ctor", argc ); + MonoMethod* pMethod = this->GetMethodFromName( ".ctor", argc ); if( !pMethod ) { return nullptr; } - pMethod->Invoke( pObject, args, nullptr ); + MonoObject* pException = nullptr; + + mono_runtime_invoke( pMethod, pObject, args, &pException ); + + if( pException ) + { + this->GetDomain()->HandleException( pException ); + } return pObject; }