Python-Ausnahme-Traceback mit benutzerdefinierter AusnahmePython

Python-Programme
Anonymous
 Python-Ausnahme-Traceback mit benutzerdefinierter Ausnahme

Post by Anonymous »

Ich habe den folgenden Code, um eine Ausnahme auf Klassenebene mit Unterklasseninformationen zu erweitern:

Code: Select all

class SomeClass:
def __new__(cls):
class ExWithClsInfo(RuntimeError):
def __init__(self, msg: str, *args):
super().__init__(f"{cls.__name__}: {msg}", *args)

obj = super().__new__(cls)
obj.Ex = ExWithClsInfo

return obj

class A(SomeClass):
pass
Jetzt, wenn ich die Ausnahme auslöse

Code: Select all

a = A()
raise a.Ex("test")
Traceback (most recent call last):
File "", line 1, in 
SomeClass.__new__..ExWithClsInfo: A: test
Ich erhalte einige irrelevante Informationen im Traceback: SomeClass.__new__..ExWithClsInfo: ...
Wie kann ich das bereinigen, sodass im Traceback nur Someclass.Ex oder SomeClass.ExWithClsInfo ohne .__new__. angezeigt wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post