Welche Ausnahme sollte ich bei schlechten/illegalen Argumentkombinationen in Python auslösen?
Sie können die Ausnahme ValueError
auslösen, wenn Sie in Python auf schlechte oder illegale Argumentkombinationen stoßen. Hier ist ein Beispiel-Code-Schnipsel:
def divide(a, b):
if b == 0:
raise ValueError("Cannot divide by zero.")
return a / b
try:
result = divide(10, 0)
except ValueError as e:
print(e)
In diesem Beispiel wird, wenn der Wert von b
, der der divide
-Funktion übergeben wird, 0 ist, die Ausnahme ValueError
mit der Meldung "Cannot divide by zero." ausgelöst. Der try
-Block um den Aufruf von divide
wird verwendet, um die Ausnahme zu fangen und zu behandeln, in diesem Fall wird die Fehlermeldung ausgegeben.
Alternativ können Sie assert
-Anweisung verwenden, um die Eingabeargumente vor der Operation zu überprüfen, was effizienter ist und AssertionError
auslöst, wenn die Bedingung nicht erfüllt ist
def divide(a, b):
assert b != 0, "Cannot divide by zero."
return a / b
try:
divide(10, 0)
except Exception as e:
print(e)
Es wird AssertionError
mit der Meldung "Cannot divide by zero." auslösen