基本结构:
try:
被监控的可能出现异常的语句
except:
异常的处理语句
遇到异常的执行顺序:
try:
print('1')
a = 2/0
print('2')
except BaseException as e:# BaseException 所有异常的父类
print('3')
print(e)
print('4')
运行效果:
多个except写法:
try:
a = input('请输入一个被除数:')
b = input('请输入一个除数:')
c = float(a)/float(b)
print(c)
except ZeroDivisionError:
print('异常,不能除以0')
except ValueError:
print('异常,不能将字符串转化成数字')
except NameError:
print('异常,变量不存在')
except BaseException as e:
print(e)
else:
如果没有异常执行else语句,有异常执行except语句
try:
print('1')
a = 2/0
print('2')
except BaseException as e:# BaseException 所有异常的父类
print('3')
print(e)
else:
print('4')
结果:
finally:
无论是否发生异常都执行,通常用来释放try中申请的资源
常见异常汇总:
1,SyntaxError:语法错误
2,NameError:尝试访问一个没有申明的变量
3,ZeroDivisionError:除数为0的错误
4,ValueError:数值错误
5,TypeError:类型错误
6,AttributeError:访问对象不存在的属性
7,indexError:索引越剧异常
8,KeyError:字典的值不存在