diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index cb2f5ee43ad1..c3b920e7bf34 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -407,16 +407,21 @@ - (void)documentReferenceUpdateApp:(nonnull FirestorePigeonFirebaseApp *)app completion:(nonnull void (^)(FlutterError *_Nullable))completion { id data = request.data; FIRFirestore *firestore = [self getFIRFirestoreFromAppNameFromPigeon:app]; - FIRDocumentReference *document = [firestore documentWithPath:request.path]; - - [document updateData:data - completion:^(NSError *error) { - if (error != nil) { - completion([self convertToFlutterError:error]); - } else { - completion(nil); - } - }]; + @try { + FIRDocumentReference *document = [firestore documentWithPath:request.path]; + [document updateData:data + completion:^(NSError *error) { + if (error != nil) { + completion([self convertToFlutterError:error]); + } else { + completion(nil); + } + }]; + } @catch (NSException *exception) { + NSString *name = exception.name; + NSString *reason = exception.reason; + completion([FlutterError errorWithCode:name message:reason details:nil]); + } } - (void)enableNetworkApp:(nonnull FirestorePigeonFirebaseApp *)app