我有:
try: ... except Exception,e: print "Problem. %s" % str(e)
但是,在尝试的某个地方,我需要它表现得好像遇到了异常.这样做是不是pythonic的:
try: ... raise Exception,'Type 1 error' ... except Exception,e: print "Problem. Type 2 error %s" % str(e)
解决方法
我认为这是一个糟糕的设计.如果(如果没有)引发异常,则需要执行某些操作,这就是else子句的用途.如果你需要无条件地采取一些行动,那就是最终的目的.这是一个示范:
def myraise(arg): try: if arg: raise ValueError('arg is True') except ValueError as e: print(e) else: print('arg is False') finally: print("see this no matter what") myraise(1) myraise(0)