[Python] Print an error message without printing a traceback and close the program when a...

Discussão em 'Python' iniciado por Stack, Maio 26, 2025.

  1. Stack

    Stack Membro Participativo

    I've seen similar questions to this one, but none of them really address the traceback. If I have a class like so:

    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"


    What I want my execute method to be able to do is, if self._then is not equal to the string "THEN" (in allcaps), then I want it to raise a custom error message and terminate the whole program while also not showing a traceback.

    If the error is encountered, the only thing that should print out would look something like (I'm using 3 as an example, formatting is not a problem) this:

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


    I'm not very picky about it actually being an exception class object, so there's no issue in that aspect. Since I will be using this in a while loop, a simple if/elif just repeats the message over and over (because obviously I am not exiting the loop). I have seen sys.exit(), but that also prints out a giant block of red text, unless I am not using it correctly. I don't want to catch the exception in my loop because there are other classes in the same module in which I need to implement something like this.

    Continue reading...

Compartilhe esta Página