当条件不满足时,打印错误消息而不打印回溯,并关闭程序。

8 浏览
0 Comments

当条件不满足时,打印错误消息而不打印回溯,并关闭程序。

我看到了类似的问题,但它们都没有真正解决trackback的问题。

如果我有一个如下的类:

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):
        "比较前两个值并进行相应的更改等操作的代码"

我希望我的execute方法能够做的是,如果self._then不等于字符串"THEN"(全大写),那么我希望它引发一个自定义的错误消息并终止整个程序,同时不显示trackback。

如果遇到错误,唯一应该打印出来的东西应该是这样的(我用3作为示例,格式不是问题)。

`语法错误(第3行):语句中没有-THEN-。`

实际上,我对它是否是异常类对象并不挑剔,所以在这方面没有问题。由于我将在while循环中使用它,简单的if、elif会一遍又一遍地重复消息(因为显然我没有关闭循环)。我看到了sys.exit(),但它也会打印出一大块红色的文本,除非我使用不正确。我不想在我的循环中捕获异常,因为同一模块中还有其他类需要实现类似的东西。

0