Bu bölümde, hataların nasıl ele alınacağı açıklanmaktadır.
update_mask hatalarını işleme
GMTDDeliveryVehicleReporter
bir araç güncellemesi gönderdiğinde, updateMask
sorgu parametresi boşsa update_mask
hatası oluşabilir. Bu hatayı önlemek için her zaman en az bir alan adı girin. Bu durum genellikle, başlatma işleminden sonraki ilk güncellemede görülür. Fleet Engine'da araç alanlarını güncelleme hakkında daha fazla bilgi için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.
Aşağıdaki örnekte bu hatanın nasıl ele alınacağı gösterilmektedir:
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