我见过与此类似的问题,但没有一个真正解决了引用问题。如果我有这样的课
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"
我希望我的执行方法能够做的是,如果 self._then 不等于字符串“THEN”(全部大写),那么我希望它引发自定义错误消息并终止整个程序,同时也不显示回溯.
如果遇到错误,唯一应该打印出来的东西看起来像(我以 3 为例,格式不是问题)这个。
`Syntax Error (Line 3): No -THEN- present in the statement.`
我对它实际上是一个异常类对象并不是很挑剔,所以这方面没有问题。由于我将在 while 循环中使用它,简单的 if, elif 只是一遍又一遍地重复消息(因为显然我没有关闭循环)。我见过 sys.exit() 但它也会打印出一大块红色文本,除非我没有正确使用它。我不想在我的循环中捕获异常,因为在同一个模块中还有其他类,我需要在其中实现类似的东西。