בקטע הזה מתואר איך לטפל בשגיאות.
טיפול בשגיאות update_mask
שגיאת update_mask
יכולה להתרחש כאשר פרמטר השאילתה updateMask
ריק. כדי למנוע את השגיאה הזו, צריך תמיד לספק שם של שדה אחד לפחות. הוא
מתרחשת בדרך כלל בעדכון הראשון לאחר ההפעלה. מידע נוסף על
עדכון שדות הרכב ב-Fleet Engine זמין במאמר בנושא עדכון שדות רכב.
אפשר לראות בדוגמה הבאה איך לטפל בשגיאה הזו:
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