Я работаю над соединителем веб-данных и в настоящее время борюсь с обработкой ошибки. WD C написано в Javascript. Теперь к моей проблеме. Допустим, API возвращает следующую JSON полезную нагрузку:
[
{
"type": "foo",
"licensePlate": "bar",
"mainEngine": null
},
{
"type": "foo",
"licensePlate": "bar",
"mainEngine": {
"fuelType" "fooBar"
}
}
]
Данные из API помещаются в таблицу с параметром для l oop. В следующем примере l oop:
// some code
for (var i = 0, len = jsonData.length; i < len; i++) {
tableData.push({
"type": jsonData[i].type,
"licensePlate": jsonData[i].licensePlate,
"fuelType": jsonData[i].mainEngine.fuelType
});
}
// some code
Ошибка типа возникает из-за того, что jsonData [i] .mainEngine имеет значение null. Я думал об обёртывании for-l oop в блок try и catch, см .:
// some code
for (var i = 0, len = jsonData.length; i < len; i++) {
try {
tableData.push({
"type": jsonData[i].type,
"licensePlate": jsonData[i].licensePlate,
"fuelType": jsonData[i].mainEngine.fuelType
});
} catch (e) {
console.log("Epstein didn't kill himself")
}
}
// some code
Теперь for l oop выполнится полностью, но данные не полностью помещены в таблицу , Для некоторых записей я мог заметить, что всякий раз, когда свойство fuelType равно нулю в таблице, свойства, такие как licensePlate, не заполняются правильно, то есть они полностью отсутствуют.
Большое спасибо!