scipy.special.

seterr#

scipy.special.seterr(**kwargs)#

Legt fest, wie Fehler bei Spezialfunktionen behandelt werden.

Parameter:
all{‘ignore’, ‘warn’ ‘raise’}, optional

Legt die Behandlung für alle Arten von Spezialfunktionsfehlern auf einmal fest. Die Optionen sind

Standardmäßig wird das aktuelle Verhalten nicht geändert. Wenn Verhaltensweisen für zusätzliche Kategorien von Spezialfunktionsfehlern spezifiziert werden, wird all zuerst angewendet, gefolgt von den zusätzlichen Kategorien.

singular{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung von Singularitäten.

underflow{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung von Unterlauf.

overflow{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung von Überlauf.

slow{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung von langsamer Konvergenz.

loss{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung von Genauigkeitsverlust.

no_result{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung des Fehlschlagens bei der Ergebnisfindung.

domain{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung eines ungültigen Arguments für eine Funktion.

arg{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung eines ungültigen Parameters für eine Funktion.

other{‘ignore’, ‘warn’, ‘raise’}, optional

Behandlung eines unbekannten Fehlers.

Rückgabe:
olderrdict

Wörterbuch mit den alten Einstellungen.

Siehe auch

geterr

erhält die aktuelle Art der Behandlung von Spezialfunktionsfehlern

errstate

Kontextmanager für die Fehlerbehandlung von Spezialfunktionen

numpy.seterr

ähnliche numpy-Funktion für Gleitkommafehler

Beispiele

>>> import scipy.special as sc
>>> from pytest import raises
>>> sc.gammaln(0)
inf
>>> olderr = sc.seterr(singular='raise')
>>> with raises(sc.SpecialFunctionError):
...     sc.gammaln(0)
...
>>> _ = sc.seterr(**olderr)

Wir können auch für jede Kategorie außer einer eine Ausnahme auslösen.

>>> olderr = sc.seterr(all='raise', singular='ignore')
>>> sc.gammaln(0)
inf
>>> with raises(sc.SpecialFunctionError):
...     sc.spence(-1)
...
>>> _ = sc.seterr(**olderr)