این بخش نحوه مدیریت خطاها را شرح میدهد.
مدیریت خطاهای update_mask
خطای update_mask میتواند زمانی رخ دهد که پارامتر کوئری updateMask خالی باشد. برای جلوگیری از این خطا، همیشه حداقل نام یک فیلد را وارد کنید. این خطا معمولاً برای اولین بهروزرسانی پس از راهاندازی رخ میدهد. برای اطلاعات بیشتر در مورد بهروزرسانی فیلدهای وسیله نقلیه در Fleet Engine، به Update vehicle fields مراجعه کنید.
مثال زیر نحوه مدیریت این خطا را نشان میدهد:
سویفت
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
}
}
هدف-سی
#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