Wydrukuj komunikat błędu bez drukowania śledzenia i zamknij program, gdy warunek nie zostanie spełniony
Widziałem podobne pytania, ale żaden z nich nie odnosi się do trackbacku. Jeśli mam taką klasę
class Stop_if_no_then():
def __init__(self, value one, operator, value_two, then, line_or_label, line_number):
self._firstvalue = value_one
self._secondvalue = value_two
self._operator = operator
self._gohere = line_or_label
self._then = then
self._line_number = line_number
def execute(self, OtherClass):
"code comparing the first two values and making changes etc"
To, co chcę, aby moja metoda wykonywania mogła być wykonywana, to jeśli self._then nie jest równy ciągowi „THEN” (w allcaps), chcę, aby podniósł niestandardowy komunikat o błędzie i zakończył cały program, nie pokazując przy tym śledzenia .
Jeśli błąd zostanie napotkany, jedyną rzeczą, która powinna zostać wydrukowana, byłoby coś w rodzaju (używam 3 jako przykładu, formatowanie nie stanowi problemu) to.
`Syntax Error (Line 3): No -THEN- present in the statement.`
Nie jestem zbyt wybredna, jeśli chodzi o to, że jest to obiekt klasy wyjątków, więc nie ma problemu w tym aspekcie. Ponieważ będę używał tego w pętli while, proste jeśli, elif po prostu powtarza komunikat w kółko (ponieważ oczywiście nie zamykam pętli). Widziałem sys.exit (), ale także drukuje olbrzymi blok czerwonego tekstu, chyba że nie używam go poprawnie. Nie chcę wychwytywać wyjątku w mojej pętli, ponieważ w tym samym module są inne klasy, w których muszę zaimplementować coś takiego.