1

メソッド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)
    { 
    }
}
4

2 に答える 2