异常处理的典型结构如下:
try:
pass
except Exception, e:
raise
else:
pass
finally:
pass
我可以知道except Exception, e:
或except Exception as e:
的含义吗?
通常我会使用print (e)
来打印错误消息,但我想知道程序为生成e而做了什么。
如果我以另一种方式构建它(下面),它会是什么样的?
except Exception:
e = Exception.something
该方法应该取代something
?
当try
下的代码体没有异常时,代理将执行else
下的代码。但是,finally
在这做什么?
谢谢! :)
答案 0 :(得分:10)
except Exception as e
或except Exception, e
(仅限Python 2.x)表示它捕获类型Exception
的异常,并在except:
块中引发异常(实际对象,而不是异常类)绑定到变量e
。
至于finally
,它是始终执行的块,无论发生什么,在except
块之后(如果引发异常)但是总是在触发范围之外的任何事情之前触发(例如return
,continue
或raise
)。