一 異常處理:
1異常:錯誤發生的訊號,程式一旦出錯程式中沒有相應的處理機制,就會丟擲異常,終止程式
乙個異常的三部分:
追蹤資訊,
異常的值,
異常型別,
二 異常的分類:
1語法異常:
這類異常在程式執行之前就改正,否則程式無法執行。
2邏輯異常:常見異常型別:
indexerror,keyerror,attributeerror,filenotfounderror,
valueerror,typeerror,indexerror
nameerror:名字沒有定義
l=【1,2】l【23424
】搜尋超出範圍
4try
:print(
'start..')
x=1y
l=l=[3
]print(
'*****')
except nameerror:判斷錯誤是否是nameerror,
print(
'名字沒有定義')
except keyerror:
可以有多個except判斷:
在except匹配成功之後執行except之後的**,
那麼這樣寫的話就會顯得很長所以我們有另一種方法:
except(nameerror,keyerror):裡面是乙個或的關係。
print(『變數名或字典的key,』)
5 萬能異常:
try:。。。
;;;。。。
except exception:萬能異常,可以處理一切異常,但是如果想要看到異常資訊需要和as一起使用,把他賦給隨便乙個變數,在列印出變數。
except exception:
print(『萬能異常!!!』)這個時候你不知道到底是什麼異常,所以我們需要用乙個as語法。
except exception
ase:使用as語法把他賦給給乙個值,然後再列印出來就可以看到異常的資訊。
print(『萬能異常————》』,e)
所有的異常你都想用一種邏輯去處理,那就用萬能異常,
6 try:。。。與else:。。。連用。
try:,,,,,
;;;。。。
else
:else不能單獨使用,必須跟except exception:
print(『萬能異常!!!』)這個時候你不知道到底是什麼異常,所以我們需要用乙個as語法。
except exception
ase:使用as語法把他賦給給乙個值,然後再列印出來就可以看到異常的資訊。
print(『萬能異常————》
在這些後面,一起使用。
else
:print(』被檢測的**塊,沒有任何異常才會執行else的子**塊『)
7 try。。。finally。。。
finally:有用。。。可以放**系統資源f.close
print(』無論有沒有異常都會執行,無論異常有沒有被處理都會執行『)
try:
f=open('
a.txt
','w
',encoding='
utf-8')
f.read()
f.close
exception nameerror
print(
'名字錯誤')
這種情況下我們的檔案在以寫的方式開啟時,不能進行讀取操作,
所以會報錯,程式結束,那麼檔案f.close並沒有執行,所以
這個時候就用到了finally,在finally下面來放這個關閉檔案的操作。
8 主動觸發異常:
raise typerror(』型別錯誤內容『),在這裡typeerror就是類。
9 斷言:
print('part1.....')
stus=['
egon
','alex
','lxx
']
if len(stus)=<0
:raise typerror(
'stus內值的個數必須大於0,後續的**才會執行')
可以用一行取代if及自帶嗎上面的**
assert len(stus)>0
斷言stus長度大於0,如果成立程式繼續執行,否則丟擲錯誤,
print(
'part2,,,,')
print(
',,,,')
print(
',,,,')
print(
',,,,')
print(
',,,,
')
10 自定義異常:
classregistererror(baseexception):繼承baseexception
def __init__(self,msg,user):
self.msg=msg
self.user=user
def __str__(self):
return ('
%s %s
'%(self.msg,self.user))
raise registererror(』註冊失敗『,』teacher『)
定製自己的異常,可以定製丟擲的資訊。
11 什麼時候用異常:
當你錯誤發生的條件是可以預知的,可以直接用if判斷就解決了,
當發生的錯誤是沒辦法預知的,但是他一定會出現,只能用try:excep。。。
三 socker網路程式設計:
c/s架構:client<--------->server
b/s架構:browser<---------->server
學習socker程式設計就是要編寫乙個客戶端軟體與服務端軟體。
1 什麼是網路:
1物理連線介質
2 網際網路協議:
網際網路協議就是統一的標準,網際網路協議就像計算機界的英語。
四 網路協議:
參考:部落格
異常處理 try與except處理異常語句
def convert numbers s try return int s except valueerror return nonetry except介紹 與其他語言相同,在python中,try except語句主要是用於處理程式正常執行過程中出現的一些異常情況,如語法錯 python作為指...
http 網路異常請求處理
最近看了乙個大神的 覺得別人寫的 有借鑑之處,故記錄下來,以便日後使用。原始碼如下 string url document doc null string errormsg null for int i 0 i 3 i catch unknownhostexception ex catch sock...
網路爬蟲異常處理總結
在進行大規模網路爬蟲的時候,經常會遇到爬了一會突然丟擲乙個錯誤來,然後整個程式就停止了執行。而我們在處於學習爬蟲初期的同胞,比如我,一旦出現程式錯誤停止,就不知道如何在修改程式後接著剛剛爬取的位置繼續爬取。就算是我們做了比較好的日誌輸出,知道是再爬取到哪一頁時出現問題,但也不得不在這一頁或者這一頁的...