【发布时间】:2011-12-03 21:21:43
【问题描述】:
在python中,有没有办法在测试条件后退出类,而不退出python?
说我有课
class test():
def __init__(self):
self.a = 2
def create_b(self):
self.b = 3
def does_b_exist(self):
if <self.b doesnt exist>:
#terminate
self.b += 1
try/except` 不起作用,因为程序的其余部分在失败后不会终止。我基本上是在尝试捕获错误,并在显示错误时执行 python 的操作,但我不知道该怎么做
【问题讨论】:
-
所以您希望整个程序在“#terminate”行结束?这将是 sys.exit() 的工作,但如果这不是您想要的,请参阅我的回答。更好的描述会有所帮助;)
-
您可以使用
return退出does_b_exist()方法。 -
“退出类”的概念没有任何意义。首先,你不在课堂上;你正在运行一个对象的方法。
-
我认为您想要做的是
raise一个异常,它将控制权传递给调用者设置的try/except处理程序(例如,打印错误消息),或者终止如果没有处理程序,则程序。
标签: python error-handling terminate terminate-handler