| 什么叫异常?导致程序异常退出叫做异常
  
 try...except...else如果要抓取某种特定异常可以用except ERROR as eelse:如果程序正常执行那么会执行else里面的代码finally:不管程序是否正常都会执行finally里面的代码块 # 异常处理的格式:try:
 CMD #要处理的程序
 except:
 RESULT #发现异常时你要如何处理
  
 eg:
try:
    n += 1
except:
    print('错误')结果:
    错误
 #如果要抓取某种特定异常可以用except ERROR as e  
 try:
    n += 1
except NameError as e:
    print(e)
结果:
    name 'n' is not defined
try:
    n = 1 + '1'
except TypeError as e:
    print(e)
结果:
    unsupported operand type(s) for +: 'int' and 'str' #else:如果程序正常执行那么会执行else里面的代码  
 try:
    n = 1 + '1'
except:
    print('异常')
else:
    print('没有异常')
结果:
    异常 #finally 的作用:不管异常与否,都会运行finally里的代码  
 try:
    n = 1 + '1'
except:
    print('异常')
finally:
    print('最后的代码')
结果:
    异常
    最后的代码 #打开文件,如果异常 f.write(b'中文'),但是f = open('XXX.txt','r')没问题,因此,f还残留在内存当中。这时可以用到finally,不管程序是否成功,都关闭打开的文件  
 try:
    f = open('XXX.txt','r')
    f.write(b'中文')
except:
    print('异常')
finally:
    f.close()
    |