メソッド1が例外をスローする2つのメソッドがあります。メソッド 2 はメソッド 1 を呼び出し、例外がスローされた場合はメソッド 2 で処理する必要があります。
これが私の方法1です
private Customer GetCustomer(string unformatedTaxId)
{
if (loan.GetCustomerByTaxId(new TaxId(unformatedTaxId)) == null)
{
throw new NotFoundException("Could not find the customer corresponding to the taxId '{0}' Applicant address will not be imported.", new TaxId(unformatedTaxId));
}
return loan.GetCustomerByTaxId(new TaxId(unformatedTaxId));
}
次のメソッドでは、メソッド1を呼び出しています
public void ProcessApplicantAddress(ApplicantAddress line)
{
try
{
Customer customer = GetCustomer(line.TaxId);
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(NotFoundException e)
{
eventListener.HandleEvent(Severity.Informational, line.GetType().Name, e.Message);
}
私の問題は、未処理の例外が発生していることですが、メソッド 2 でキャッチする必要があります。これから助けてください。
私の NotFoundException クラス
// class NotFoundException
public class NotFoundException : Exception
{
public NotFoundException() : base()
{
}
public NotFoundException(string message): base(message)
{
}
public NotFoundException(string format, params object[] args): base(string.Format(format, args))
{
}
public NotFoundException(string message, Exception innerException) : base(message, innerException)
{
}
public NotFoundException(string format, Exception innerException, params object[] args) : base(string.Format(format, args), innerException)
{
}
}