gpt4 book ai didi

c# - 如何处理 NullReference 异常 C#

转载 作者:太空狗 更新时间:2023-10-29 21:22:46 27 4
gpt4 key购买 nike

我正在尝试处理 NullReference 异常,但我对如何处理它感到困惑。这是我的示例代码,其中引发了 NullReference 异常:

 private Customer GetCustomer(string unformatedTaxId)
{
return loan.GetCustomerByTaxId(new TaxId(unformatedTaxId));
}

现在我用下面的方法处理这个问题

 public void ProcessApplicantAddress(ApplicantAddress line)
{
try
{
Customer customer = GetCustomer(line.TaxId);
//if (customer == null)
//{
// eventListener.HandleEvent(Severity.Informational, line.GetType().Name, String.Format("Could not find the customer corresponding to the taxId '{0}' Applicant address will not be imported.", new TaxId(line.TaxId).Masked));
// return;
//}
Address address = new Address();
address.AddressLine1 = line.StreetAddress;
address.City = line.City;
address.State = State.TryFindById<State>(line.State);
address.Zip = ZipPlusFour(line.Zip, line.ZipCodePlusFour);
}
catch(NullReferenceException e)
{
//eventListener.HandleEvent(Severity.Informational, line.GetType().Name, String.Format("Could not find the customer corresponding to the taxId '{0}' Applicant address will not be imported.", new TaxId(line.TaxId).Masked));
eventListener.HandleEvent(Severity.Informational, line.GetType().Name, e.Message);
}
}

在之前的案例中,我写的是 if(customer == null) 现在我应该去掉那段代码,以便我可以在 catch block 中处理它。

请帮助我如何抛出该异常。

最佳答案

I am trying to handle a NullReference Exception, but i am confused how to handle that

那么您已经通过检查 customer 是否为 null 了。你需要检查到位。

抛出一个异常是昂贵的,并且知道如果 TaxId 无效会导致这个异常并不是真正的 exceptional 情况,这是验证我认为用户输入。

如果对象可以返回 null,则在尝试访问属性/方法之前只需检查该对象的值。我永远不会允许抛出异常并中断标准程序流只是为了捕获异常并记录它。

关于c# - 如何处理 NullReference 异常 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com