【Python】学习笔记7-异常处理try。。except .. as e ....else
生活随笔
收集整理的這篇文章主要介紹了
【Python】学习笔记7-异常处理try。。except .. as e ....else
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、捕捉異常需要進入trackback包
?
import traceback def clac(a,b):return a/b?
2、單獨捕捉異常try ....except...else ,捕捉所有異常Exception
?
def main():money = input("輸入多少錢:")months = input("還幾個月:")try:res = clac(int(money),int(months))except ZeroDivisionError as e:print('還款的月數(shù)不能小于1,',e)# traceback.print_exc() #可以輸出報錯的詳細信息,哪行錯誤except ValueError as e: #ValueError可以先運行一次后,在錯誤結(jié)果中獲取print('輸入必須是整數(shù)%s',e)# except Exception as e: #捕捉到所有異常,當不確定是哪種異常時,可以使用# print('未知錯誤!',e)else:#沒有錯的情況下走elseprint('每月應該還%s' % res)main()?
3、finally#不管有沒有捕捉到異常,都會走到這里
?
import pymysql def main2(sql):try :conn = pymysql.connect(host = '122.33.22.33',user = 'root',password = '123456',port = '3306')except Exception as e:print('shujukulianjiebuliao,%s'%e)else:cur = conn.cursor()try:cur.execute(sql)except Exception as e:print('sql error:%s,sql = %s'%(e,sql))else:res = cur.fetchall()return resfinally: #不管有沒有捕捉到異常,都會走到這里cur.close()conn.close()?
4、raise 主動拋出異常,raise關鍵字后面是拋出是一個通用的異常類型
?
import requests def req():r = requests.get('http://api.nnzhp.cn/api/user/all_stu',headers={"Referer":"http://api.nnzhp.cn/"})if len(r.json()['stu_info'])<0:passelse:raise Exception('接口無返回數(shù)據(jù)') #主動拋出異常req()?
轉(zhuǎn)載于:https://www.cnblogs.com/amengmeng/p/8522897.html
總結(jié)
以上是生活随笔為你收集整理的【Python】学习笔记7-异常处理try。。except .. as e ....else的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CCCC L2 007 家庭房产 并查集
- 下一篇: websocket python爬虫_p