十八、异常处理(了解)
十八、异常处理(了解)
异常处理: Python程序运行语法出错会有异常抛出 不处理异常会导致程序终止
异常种类 | 异常种类 |
---|---|
IndentationError | 缩进对齐代码块出现问题 |
NameError | 自定义标识符找不到 |
IndexError | 下标错误 |
KeyError | 键名出错 |
AssertionError | 断言异常 |
SyntaxError | 语法错误 |
AttributeError | 找不到属性 |
TypeError | 类型错误 |
KeyboardInterrupt | ctrl + c 被按下 |
ImportError | 导入模块出错 |
示例: 异常处理的简单应用
import os,sys
num=input("请输入一个数字:")
try:
num=int(num)
except ValueError:
print("你输的不是数字!")
exit()
print(num)
try语句
1. 首先,执行try子句(在关键字try和关键字except之间的语句)。
2. 如果没有异常发生,忽略except子句,try子句执行后结束。
3. 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。
4. 如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
5. 如果一个异常没有与任何的except匹配,那么这个异常将会报错并终止程序。
示例:异常处理的多分支应用
list1=[1,2,3]
try:
print(list1[3])
except TypeError as err:
print("error1",err)
except SyntaxError as err:
print("error2:",err)
except Exception as err:
print("error3",err)
else: # 没有异常,会执行;有异常被捕捉到不会执行;有异常没被捕捉到也不会执行
print("everything is ok,do it!")
finally: # 没有异常,有异常被捕捉到,有异常没有被捕捉到,finally里的代码都会执行
print("no matter what,do it!")
print("haha")