Распечатайте сообщение об ошибке без печати трассировки и закройте программу, если условие не выполнено
Я видел подобные вопросы к этому, но ни один из них действительно не обращается к трекбеку. Если у меня есть такой класс
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"
Я хочу, чтобы мой метод execute мог выполнять, если self._then не равен строке THEN (в allcaps), тогда я хочу, чтобы он вызывал пользовательское сообщение об ошибке и завершал работу всей программы, но при этом не отображал трассировку ,
Если ошибка встречается, единственное, что должно распечатываться, будет выглядеть примерно так (я использую 3 в качестве примера, форматирование не проблема), это.
`Syntax Error (Line 3): No -THEN- present in the statement.`
Я не очень придирчив к тому, что он на самом деле является объектом класса исключения, поэтому в этом аспекте нет проблем. Поскольку я буду использовать это в цикле while, просто if, elif просто повторяет сообщение снова и снова (потому что, очевидно, я не закрываю цикл). Я видел sys.exit (), но он также печатает гигантский блок красного текста, если я не использую его правильно. Я не хочу перехватывать исключение в моем цикле, потому что в том же модуле есть другие классы, в которых мне нужно реализовать нечто подобное.