Imprima un mensaje de error sin imprimir un rastreo y cierre el programa cuando no se cumpla una condición

He visto preguntas similares a esta, pero ninguna de ellas aborda realmente el trackback. Si tengo una clase asi

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"

Lo que quiero que mi método de ejecución pueda hacer es si self._then no es igual a la cadena "ENTONCES" (en allcaps), entonces quiero que genere un mensaje de error personalizado y finalice todo el programa mientras no muestro un rastreo .

Si se encuentra el error, lo único que debería imprimirse sería algo así (estoy usando 3 como ejemplo, el formato no es un problema) esto.

`Syntax Error (Line 3): No -THEN- present in the statement.`

No soy muy exigente porque realmente sea un objeto de clase de excepción, por lo que no hay problema en ese aspecto. Como lo usaré en un bucle while, simple if, elif solo repite el mensaje una y otra vez (porque obviamente no estoy cerrando el loop). He visto sys.exit () pero eso también imprime un bloque gigante de texto rojo, a menos que no lo esté usando correctamente. No quiero capturar la excepción en mi bucle porque hay otras clases en el mismo módulo en las que necesito implementar algo como esto.

Respuestas a la pregunta(5)

Su respuesta a la pregunta