eine bestimmte Ausnahme wirft
Sie haben eine bestimmte Ausnahme, sollten Sie die Ausnahme durch die Angabe der Ausnahmeklasse in der Ausnahme-Klausel einer try-except
Block behandeln.
Der Placebo Ansatz (dh except Exception...
) ist nur noch andere Ausnahmen zum Schweigen zu bringen, da Ausnahmen typischerweise von Exception
ableiten oder überhaupt nicht zur Arbeit gehen (mit Ihrer neuen Ausnahmeklasse), da die ausgelöste Ausnahme ist offenbar nicht abgeleitet aus der neuen Ausnahmeklasse.
Beachten Sie:
Fehler sollten niemals still passieren, es sei denn ausdrücklich
zum Schweigen gebracht
So sehe ich nicht, warum Sie wollen würde rückgängig machen eine erhöhte Ausnahme ohne ein try-except
. Die Ausnahme wurde nicht umsonst erhoben.
Wenn Sie hoffen, die Verwendung von try-except
jedes Mal, wenn die Funktion aus dieser Bibliothek zu vermeiden genannt wird, dann könnte man eine Wrapper-Funktion schreiben, die den Anruf mit einem try-except
Wraps, und dann die neue Funktion von nun an .
from somelib import func
from somelib import SomeException
def wrapper_func(*args, **kwargs):
try:
func(*args, **kwargs)
except SomeException:
pass
Wollen Sie nur die Ausnahme fangen?Sie können nicht verhindern, dass eine Exception ausgelöst wird, indem Sie den Initialisierer ändern (der nur die Exception als Wert betrifft, anstatt den 'raise' rückgängig zu machen). –
Da Sie eine bestimmte Ausnahme haben, können Sie die Ausnahme behandeln, indem Sie die Ausnahmeklasse in der except-Klausel eines 'try-except'-Blocks angeben. –
könnte ich. Ich hatte gehofft, nicht alle Anrufe zu umhüllen und die Ausnahmeklasse oder etwas neu zu definieren. Ich möchte die Raise "rückgängig machen" – Jared