我有 4 个模块。1. run.py 这里我正在做A类和B类的初始化和设置。我想做的是:
try:
x = x[0]()
except TestFailure as tf:
print tf.message
其中由于 for 循环,x 迭代 A 类和 B 类。因此,对于第一次迭代,它首先为 A 类进行初始化,然后为 B 进行初始化。
Test.py 这里我有类测试
class Test(object): IS_TEST = False teardown_stack = [] td=[] def __init__(self): print "in Test init" super(Test, self).__init__() def setup(self): print "\tin Test setup" #self.add_teardown(foo)
现在
class TestFailure (None, msg):
message = ""
if self.msg:
message = self.msg
pass
我有 A.py
class A(Test): IS_TEST = True def __init__(self): test_variable = 9; if test_variable < 0: raise TestFailure("test_variable is negative.") print "in A init" super(A, self).__init__() def setup(self): print "in A setup"
我拥有的最后一个模块是 B.py
class B(A): IS_TEST = True def __init__(self): test_variable = 9; if test_variable < 0: raise TestFailure("test_variable is negative.") print "in B init" super(B, self).__init__() def setup(self): print "\tin B setup"
我以前没有使用过 python 异常,因此我根本不熟悉它们。如何得到这份工作?我到底哪里错了?我想通过这种方法引发异常,在进行初始化之前,它仅在 test_variable 为正时才使操作发生。