Warum ist das Auslösen einer Ausnahme ein Nebeneffekt?
Laut Wikipedia-Eintrag fürNebenwirkungDas Auslösen einer Ausnahme ist ein Nebeneffekt. Betrachten Sie diese einfache Python-Funktion:
def foo(arg):
if not arg:
raise ValueError('arg cannot be None')
else:
return 10
Aufruf mitfoo(None)
wird immer mit einer Ausnahme erfüllt. Gleicher Eingang, gleicher Ausgang. Es ist referenziell transparent. Warum ist das keine reine Funktion?