错误与异常
语法错误 SyntaxError
语句或表达式在语法上错误

原因:if语句最后要加上冒号
异常 Exceptions
KeyError
即使语句或表达式在语法上是正确的,但在尝试执行它时可能会导致错误。

原因:在字典中查找一个键,但是其中并不存在这个键,就会抛出异常。
IndexError
超过了能索引的值,也会引发异常

TypeError

原因:两个字符串可以通过+拼接,但一个字符串和一个数字直接用+连接就会异常
ZeroDivisionError
除数为 0 时异常

ValueError
所给元素不符合规定的变量类型
FileNotFoundError
找不到文件产生的异常
file_name = input("请输入文件名:")
f = open(file_name)
如果文件不存在,或者如果输入文件名时没有带上文件名后缀,就无法找到文件,出现FileNotFoundError

另外,如果python文件和文本文件不在一个路径里,要注意加上路径,否则也会找不到文件。

异常的处理
try-except
一旦try语句中出现异常,就会直接执行except (xxx as reason:)中的语句。
处理单个异常

可以用str(reasonn)看到具体出错的原因:


处理多个异常
一个try可以跟随多个except:

也可以利用元组将异常合并,只用一个except:

try-except-finally
try:
检测范围
except Exception [as reason]:
出现异常后的处理方式
finally:
无论是否发生异常都要执行的内容
例如:

由于try语句中出现异常后,会跳过后面的语句:此时a=1+'2'会出现异常,就不会执行try中的f.close(),写入test.txt文件中的‘程旭园’就没有被保存。
因此要把f.close()放在finally语句中样写入的内容才能被安全保存在文件里:

try-except-else
try: # 运行代码
<语句>
except <语句>: # 如果在try部分发生`name`异常
<语句>
else: # 如果没有异常发生
<语句>
如果try语句执行时没有异常,python将执行else后的语句:


浙公网安备 33010602011771号