Оператор возврата nullcheck возвращает исключение NullReferenceException - PullRequest
0 голосов
/ 02 марта 2020

У меня есть этот код

var vehicle = await _vehicleService.GetVehicle(registrationNumber);

if (vehicle == null) 
  return false;

Мы используем протоколирование ошибок Sentry и по какой-то причине мы получаем постоянный поток ошибок, сообщаемых в строке и символе return false text (строка 28 char 34 в нашем случае). Как это вообще возможно? Вся эта строка предназначена для обработки случая, когда мы не получаем никакого транспортного средства от сервиса и поэтому возвращаем false вызывающему методу. enter image description here

Метод, вызывающий ошибку:

public async Task<bool> CreateCallback(string registrationNumber, int departmentNr, string departmentName, string customerName, string customerPhone, int multiBrandErrand, int bmwBrandErrand)
{
    var vehicle = await _vehicleService.GetVehicle(registrationNumber);

    if (vehicle == null) return false;

    int errand;
    string entrance;

    if (vehicle.Brand.ToLower() == "bmw" || vehicle.Brand.ToLower() == "mini")

Вызванный метод с использованием flurl:

public async Task<AutonetVehicleResult> GetVehicle(string registrationNumber)
{
    try
    {
      var vehicle = await $"https://fakeapiurl/api/vehicle/{registrationNumber}"
                .GetJsonAsync<AutonetVehicleResult>();
      return vehicle;
    }
    catch (Exception)
    {
      return null;
    }
}
...