„Bitte um Vergebung, nicht um Erlaubnis“: Eine technische Erklärung
In der Programmierung beschreibt der Ausdruck „Bitte um Vergebung, nicht um Erlaubnis“ zwei gegensätzliche Codierungsstile :
"Um Erlaubnis bitten" Stil:
if can_do_operation(): perform_operation() else: handle_error_case()
„Bitte um Vergebung“ Stil:
try: perform_operation() except Unable_to_perform: handle_error_case()
Im „um Erlaubnis bitten“-Ansatz das Vorhandensein der can_do_operation ()-Prüfung verhindert, dass der perform_operation()-Aufruf ausgeführt wird, wenn die Operation nicht ausgeführt werden kann. Dieser Ansatz hängt jedoch von der Genauigkeit der can_do_operation()-Prüfung ab, die in dynamischen Umgebungen oder beim Umgang mit externen Ressourcen möglicherweise nicht immer zuverlässig ist.
Vorteile von „Ask for Forgiveness“
Der Stil „um Vergebung bitten“ bietet mehrere Möglichkeiten Vorteile:
Beispiel: Zugriff auf Instanzattribute
In Ihrem Beispiel Sie erkundigen sich nach der Verwendung von „um Vergebung bitten“ beim Zugriff auf Instanzattribute. Obwohl es normalerweise als Programmierfehler angesehen wird, kann der Zugriff auf ein nicht vorhandenes Attribut ein gültiges Szenario sein, beispielsweise beim Umgang mit optionalen Objektteilen.
Anstatt die Existenz eines Attributs (foo.bar) mit einem zu testen Als Ausnahmehandler ist es eher pythonisch, zu prüfen, ob das Attribut nicht None ist. Bei optionalen Attributen wird das Balkenattribut normalerweise zunächst auf „Keine“ initialisiert und auf einen aussagekräftigen Wert gesetzt, sofern verfügbar. Dies ermöglicht den folgenden Test:
if foo.bar is not None: handle_optional_part(foo.bar) else: default_handling()
Schlussfolgerung
Das Prinzip „Bitte um Vergebung, nicht um Erlaubnis“ empfiehlt, Ausnahmen als natürlichen Teil der Programmausführung zu berücksichtigen, insbesondere wenn Umgang mit optionaler Funktionalität oder externen Ressourceninteraktionen. Es bietet größere Flexibilität und Anpassungsfähigkeit in dynamischen und gleichzeitigen Umgebungen und ermöglicht gleichzeitig die Fehlerbehandlung durch Ausnahmebehandlungsmechanismen.
Das obige ist der detaillierte Inhalt vonBitten Sie um Vergebung, nicht um Erlaubnis: Wann ist die Ausnahmebehandlung besser als präventive Prüfungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!