与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错(python作为脚本语言没有编译的环节,在执行过程中对语法进行检测,出错后发出异常消息)、数据除零错误、从未定义的变量上取值等;而try/finally语句则主要用于在无论是否发生异常情况,都需要执行一些清理工作的场合,如在通信过程中,无论通信是否发生错误,都需要在通信完成或者发生错误时关闭网络连接。尽管 try/except和try/finally的作用不同,但是在编程实践中通常可以把它们组合在一起使用try/except/else/finally的形式来实现稳定性和灵活性更好的设计。
这个语法我觉得很好用,分享之。很值得、适合文科生、非IT出身的打工人学习,在办公自动化的过程中很可能用的上。
最简单常见的模式——try – except:try执行报错,则执行except内容
(1)先执行try block, 执行一直到try block中错误的一步
(2)执行except block
(3)向下继续
如下图,试图打开path中所有doc文件,如遇到错误(比如excel)打不开,则pass
更复杂一点,在except后加上错误类型,是哪种错误则执行哪个block,如果前面列出来的都不是,则执行最后一个except(如果前面except没列到try的错误类型,没有最后一个except 兜底则整个语句报错哟)
不那么常用的:
else:放在except后,有异常时,else block不执行,无异常时else block执行
finally:无论try语句是否有异常,最后都要执行