Fehler beheben

In diesem Abschnitt wird beschrieben, wie mit Fehlern umgegangen wird.

Fehler vom Typ „update_mask“ behandeln

Ein update_mask-Fehler kann auftreten, wenn der Abfrageparameter updateMask leer. Geben Sie immer mindestens einen Feldnamen an, um diesen Fehler zu vermeiden. Es erfolgt normalerweise bei der ersten Aktualisierung nach dem Start. Weitere Informationen zu Informationen zum Aktualisieren von Fahrzeugfeldern in Fleet Engine finden Sie unter Fahrzeugfelder aktualisieren.

Das folgende Beispiel zeigt, wie dieser Fehler behandelt wird:

Swift

import GoogleRidesharingDriver

class VehicleReporterListener: NSObject, GMTDVehicleReporterListener {
  func vehicleReporter(
    _ vehicleReporter: GMTDVehicleReporter,
    didFail vehicleUpdate: GMTDVehicleUpdate,
    withError error: Error
  ) {
    let fullError = error as NSError
    if let innerError = fullError.userInfo[NSUnderlyingErrorKey] as? NSError {
      let innerFullError = innerError as NSError
      if innerFullError.localizedDescription.contains("update_mask cannot be empty") {
        emptyMaskUpdates += 1
        return
      }
    }
    failedUpdates += 1
  }

  override init() {
    emptyMaskUpdates = 0
    failedUpdates = 0
  }
}

Objective-C

#import "VehicleReporterListener.h"
#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>

@implementation VehicleReporterListener {
  NSInteger emptyMaskUpdates = 0;
  NSInteger failedUpdates = 0;
}

-   (void)vehicleReporter:(GMTDVehicleReporter *)vehicleReporter
   didFailVehicleUpdate:(GMTDVehicleUpdate *)vehicleUpdate
              withError:(NSError *)error {
  for (NSError *underlyingError in error.underlyingErrors) {
    if ([underlyingError.localizedDescription containsString:@"update_mask cannot be empty"]) {
      emptyMaskUpdates += 1;
      return;
    }
  }
  failedUpdates += 1
}

@end