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
‘ignore’ Keine Aktion beim Auftreten des Fehlers
‘warn’ Eine
SpecialFunctionWarningausgeben, wenn der Fehler auftritt (über das Python-Modulwarnings)‘raise’ Eine
SpecialFunctionErrorauslösen, wenn der Fehler auftritt.
Standardmäßig wird das aktuelle Verhalten nicht geändert. Wenn Verhaltensweisen für zusätzliche Kategorien von Spezialfunktionsfehlern spezifiziert werden, wird
allzuerst 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
geterrerhält die aktuelle Art der Behandlung von Spezialfunktionsfehlern
errstateKontextmanager 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)