异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
错误分成两种:语法错误(语法错误根本过不了python解释器的语法检测,必须在程序执行前就改正),逻辑错误
IndexError:索引错误
KeyError:ValueError 传入一个调用者不期望的值,即使值的类型是正确的
TypeError :类型错误
ValueError 传入一个调用者不期望的值,即使值的类型是正确的
为了保证程序的健壮性与容错性,即在遇到错误时程序不会崩溃,我们需要对异常进行处理
语法:
try:
代码
except 异常类型:
一旦检测到异常代码,就会执行这
如果错误发生的条件是可预知的,我们需要用if进行处理:在错误发生之前进行预防
如果错误发生的条件是不可预知的,则需要用到try...except:在错误发生之后进行处理
同一层级异常发生后,后面的就不会被打印,而在外面全局中的是不影响的,会继续执行
try except 可以捕获多个异常,这个时候代码体要知道抛出什么异常,就会执行下面那个报错类型
万能异常:可以捕获所有异常的开头
一般多分支之后加个万能异常
try--except--except--else :没有异常会检测走else
finally:无论是否捕获到最终都会运行
自定义异常
#11 总结try..except
# 1:把错误处理和真正的工作分开来
# 2:代码更易组织,更清晰,复杂的工作任务更容易实现;
# 3:毫无疑问,更安全了,不至于由于一些小的疏忽而使程序意外崩溃了;