python2 7 學習筆記 四 異常

2021-06-04 22:39:27 字數 2199 閱讀 6543

宣告:以下**都是在python2.7+winxp中執行通過

[異常]

1.try語句的兩種形式

形式1:

try:

except:#出現exceptname1的異常,執行以下語句

except:#出現exceptname2的異常,執行以下語句

else:

#一切正常,執行else語句

形式2:

try:

except:

#不指定具體異常名,則捕獲所有的異常

finally:

#不論異常發生與否,都會執行finally

#-*-coding:utf-8-*-

list = [1,2]

try:

list[3]

except indexerror:  #捕獲陣列越界的錯誤

print "out of index!"

else: 

print "no error!"

#-*-coding:utf-8-*-

list = [1,2]

try:

list[3]

#下標越界error

except :

#只要有error ,就會被執行

print "error eccoured!"

else: 

print "no error !"

#沒有error的時候會被執行

finally :

print "finally will be invoked everytime" #不論有沒有error,都會被執行

2.常用異常名

attributeerror

呼叫不存在的方法引發的異常

eoferror

遇到檔案末尾引發的異常

importerror

匯入模組出錯引發的異常

indexerror

列表越界引發的異常

ioerror

i/o 操作引發的異常,如開啟檔案等

keyerror

使用字典中不存在的關鍵字

nameerror

使用不存在的變數名

taberror

語句塊縮排不正常

valueerror

搜尋list中不存在的值引發的異常

zerodivisionerror 除數為零

3.raise引發異常

#-*-coding:utf-8-*-

#主動raise異常

try:

raise myerror  #主動呼叫乙個異常

except myerror:

#自定義異常

print "my own excepiton!"

else: 

print "no error!"

#-*-coding:utf-8-*-

#自定義exception,主動raise 異常

class myexception(exception):

#繼承exception類

def __init__(self,errmsg):#初始化,可以接收引數data

self.errmsg=errmsg

def __str__(self): #過載__str__方法

return "error occured ,msg is :"+self.errmsg

try:

raise myexception,"error msg"  #主動呼叫乙個異常

except myexception,errmsg:

#自定義異常

print str(errmsg)  

#這個方法會呼叫__str__方法,輸出error occured ,msg is :error msg 

else: 

print "no error!"

4.使用pdb模組進行除錯

run(statement[,globalse[,locals]])

statement:要除錯的語句塊

globals:可選引數,設定statement執行的全域性環境變數

locals:可選引數,設定statement執行的區域性環境變數

本人使用eclipse+pydev進行開發除錯,這個……還是略了,不喜歡這種除錯方式

另外,也可以使用pythonwin 進行開發除錯

15:09 2012-3-15

python2 7學習筆記(5) 函式

內建很多函式,需要知道那個函式幹什麼的話,可以用 help 函式名 來獲取說明文件 不過都是英文的,老子看不懂啊。不過慢慢看還是能大致理解的 可以將函式名賦值給乙個變數,相當於給函式起乙個別名 在python中,定義乙個函式要使用def語句,依次寫出函式名 括號 括號中的引數和冒號 然後,在縮排塊中...

python2 7換行 Python2 7基礎語法

1.建立檔案xx.py usr bin python3 print hello,world 2.linux下執行 python hello.py 3.編碼 預設字串unicode 設定編碼 coding utf 8 4.識別符號 第乙個字元必須是字母表中字母或下劃線 識別符號的其他的部分有字母 數字...

python2 7是什麼 python2 7是什麼

pyton2.7是python在2010年發布的乙個版本。python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言,具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。下面來解釋一下python這門語言 python是一種...