栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python异常处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python异常处理

代码片段1

i=0
try:
	   i = i + 1    #i=1
	   print ("try start")
	   raise Exception()
	   return i   #出现异常后不执行
        
except Exception as error:
       print ('exception:')
       i+=1    #出现异常后执行到这i=2
       return i
finally:
        print ('finally')
        i+=1
        return i
   		print ("xxxx")   #return后的语句不会执行
  1. 代码出现异常,代码执行顺序 try > exception > finally ,返回finally的return
  2. 代码未出现异常,代码执行顺序为 try > finally, 返回为finally的return

代码片段2

i=0
try:
	   i = i + 1    #i=1
	   print ("try start")
	   raise Exception() # to exception 
	   i = i + 1 # 异常处理完成后, 会继续执行 i = 3
	   return i 
        
except Exception as error:
       print ('exception:')
       i+=1    # 出现异常后执行到这i=2
       return i
finally:
        print ('finally')
        i+=1
        return i
   		print ("xxxx")   #return后的语句不会执行
  1. 代码出现异常执行顺序为,try > exception > try >…> finally, 返回为finally的return
  2. 代码未出现异常执行顺序为,try > finally , 返回为finally的return

总结

  1. try …except…finally 异常语句处理时,如果有finally的retrun,则会返回finally的return
  2. try…发生异常后,代码转到except模块。except处理完成后,代码控制权交由try控制,继续执行剩下的代码。代码如果有finally,则返回finally的的return,如果无则需根据代码最后执行结果是由try控制还是except控制,决定retrun的值
  3. try , except,有retrun时不会立即返回,会先存入堆栈中,待程序运行finally结束后,取堆栈中的第一个值返回。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498978.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号