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