Ich habe ein Datenbankverbindungsobjekt, und ich möchte die maximale Anzahl von Aufrufen auf seine Schreiboperation (Funktion) beschränken/erzwingen. Ich habe es in Tests verspottet und die Schreibmethode überschrieben, um Aufrufe daran zu überwachen.Welche Ausnahmeklasse ist am besten geeignet, um eine überzählige Anzahl von Aufrufen einer Funktion zu kennzeichnen?
Allerdings bin ich verwirrt darüber, welchen Fehler zu erhöhen, wenn es mehr als die maximal zulässige Zahl (etwa 2) aufgerufen wird. Ich bin durch die docs gegangen, habe aber nichts passendes gefunden. (Also, wie es suggeriert) Ich habe RuntimeError
verwendet, aber ich bin nicht völlig überzeugt von der Nachricht, die es gibt (nicht die explizite Nachricht, die ich zeige, sondern die implizite Bedeutung, die von der Klasse selbst vermittelt wird). Ich fühle, dass AttributeError
weit passt, aber nichts anderes kommt der Genauigkeit so nahe.
Gibt es eine andere eingebaute Ausnahmeklasse, die dafür besser geeignet ist?
Ich würde eine benutzerdefinierte Ausnahme erstellen ... Ich bin mir nicht ganz sicher, warum Sie eine eingebaute möchten. – SuperSaiyan
@SuperSaiyan Ja, das ist meine letzte Zuflucht, eine ziemlich gewöhnliche auch. Ich hätte diese Zeile zu der Frage hinzufügen sollen, verpasste es :). – 0xc0de
@ 0xc0de: Warum möchten Sie die Anzahl der Anrufe zählen? Möchten Sie diesen Code bei der Produktion ausführen? Weil Sie die Anzahl der Aufrufe auf eine Methode begrenzen, die immer eine Ausnahme nach ** MAX ** Anzahl von Anrufen auslöst. Diese Methode wird niemals geöffnet, bis Sie die Umgebung erneut starten. –