异常处理语法:
try: 错误!=异常
<异常监控>
excpet Exception[,reason]: 异常是指出现错误是采用正常控制
<异常处理代码> 以外的动作异常处理的一般
finally: 流程是:
<无论异常是否发生都执行> 检测到错误,
引发异常;
对异常进行捕获处理
常遇到错误:
1.NameError:是指变量未定义类型 例:i=j
2.syntax Error:语法错误会提示在那一行出现 例:print())
3. indexError:超出索引范围 例:a='123' print(a[3])
4.KeyError: 例:d={'a':1,'b';2}
prin(d['c'])
5.ValueError: 例:year=int(input('input year:'))
6.AttributeError:属性错误 例:a=123
a.append()
7.ZeroDivisionError:除0异常
如何进行捕获异常:
例:
try:
year=int(input('input year:'))
except ValueError:
print('年份要输入数字')
多种异常捕获:
例如:
except (KeyError,ValueError,AttributeError)
对异常信息进行详细输出:
已知异常信息:
try:
print(1/0)
except ZeroDivisionError as e: as将异常信息定义为变量
print(’0不能做除数 %s‘ %e)
未知异常信息:
try:
print(1/0)
except Exception as e: 用于捕获未知的异常信息
print(’0不能做除数 %s‘ %e)
如何自己定义错误信息:
try:
reise Name Error(’helloError‘)
except NameError:
print ('my custonm error')
finally(一般用于文件控制):
try:
a=open('name.text')
except Exception as e:
print (e)
finally:
a.close()