異常處理與網路協議

2022-01-24 06:33:26 字數 3137 閱讀 5837

一 異常處理:

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 自定義異常:

class

registererror(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...

網路爬蟲異常處理總結

在進行大規模網路爬蟲的時候,經常會遇到爬了一會突然丟擲乙個錯誤來,然後整個程式就停止了執行。而我們在處於學習爬蟲初期的同胞,比如我,一旦出現程式錯誤停止,就不知道如何在修改程式後接著剛剛爬取的位置繼續爬取。就算是我們做了比較好的日誌輸出,知道是再爬取到哪一頁時出現問題,但也不得不在這一頁或者這一頁的...