Отслеживание исключений Python с настраиваемым исключениемPython

Программы на Python
Anonymous
Отслеживание исключений Python с настраиваемым исключением

Сообщение Anonymous »

У меня есть следующий код для расширения исключения уровня класса с помощью информации о подклассе:

Код: Выделить всё

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
Теперь, когда я вызываю исключение

Код: Выделить всё

a = A()
raise a.Ex("test")
Traceback (most recent call last):
File "", line 1, in 
SomeClass.__new__..ExWithClsInfo: A: test
Я получу ненужную информацию в обратной трассировке: SomeClass.__new__..ExWithClsInfo: ...
Как мне это очистить, чтобы в обратной трассировке отображался только Someclass.Ex или SomeClass.ExWithClsInfo без .__new__.?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -exception

Вернуться в «Python»