文章目录
同Java、c++等编程语言类似,Python也同样支持异常捕获和处理;按照发生的时间和场景,将其分为错误和异常;
异常:在代码运行期间发生的错误;
异常处理
- try/exception结构
try:
pass
except IOError:
pass
- try/exception…else
try:
pass
except IOError:
pass
else:
pass
说明:
1)else子句在try未发生异常情况下执行;
2)else主要处理在 except里没有被捕获到,但是又实际发生的异常;
- try/exception…finally
try:
pass
except IOError:
pass
finally:
pass
说明:finally部分无论try是否发生异常,都会执行;
- try/exception…else…finally
try:
pass
except IOError:
pass
else:
pass
finally:
pass
说明:
1)finally部分无论try是否发生异常,都会执行;
2)一个异常如果在exception里没有被捕获,那么会在finally子句执行后抛出;
- 多个exception捕获
try:
pass
except OSError as err:
pass
except ValueError:
pass
except Exception as e:
pass
- 多个exception处理
try:
pass
except (OSError,ValueError,RuntimeError):
pass
except Exception as e::
pass
说明:
1)对于无法枚举的异常类型,可以使用Exception代替;
2)exception里可以同时包含多个异常,放到一个元祖里;
- raise异常抛出
raise exception(,args)
======================================== over ========================================