2 Stimmen

Muster für die Behandlung von Ausnahmen für diese Art von Situation?

Ich habe 2 APIs von 2 verschiedenen Unternehmen, die es mir ermöglichen, mit ihren Servern zu kommunizieren, um Transaktionen zu verarbeiten. Ich bin mit der Erstellung einer allgemeinen Schnittstelle zu diesen APIs beauftragt. Ich kam mit etwas wie dieses:

IServiceProvider <- ServiceProvider <- CompanyAServiceProvider
IServiceProvider <- ServiceProvider <- CompanyBServiceProvider

Unter CompanyAServiceProvider Ich verwende die von ihnen angebotene API für die Verbindung mit ihren Remote-Servern. Diese API von Unternehmen A löst Ausnahmen aus, die sich völlig von denen von Unternehmen B unterscheiden.

Ich kann mit der Ausnahme auf lokaler Ebene umgehen, aber ich glaube nicht, dass das der Situation wirklich gerecht wird.

public String purchase(String amount) {
  try {
    request = new Request( RequestIF.NEW_ORDER_TRANSACTION );
  } catch ( InitializationException e ) {
    //do something.
  }
}

Oder ich kann diese Ausnahme an den Aufrufer weitergeben:

public String purchase(String amount) throws Exception {
  request = new Request( RequestIF.NEW_ORDER_TRANSACTION );
}

Und lassen Sie den Anrufer nur die Exception egal, um welche Ausnahme es sich handelt und egal, welche API sie auslöst.

Wie kann ich eine Schnittstelle zu 2 verschiedenen APIs schreiben und sie generisch halten, wenn ich mit 2 verschiedenen Sätzen von ausgelösten Ausnahmen zu tun habe. Gehe ich damit richtig um? Was wäre die beste Wahl?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X