python中的異常

2021-08-01 12:31:07 字數 1707 閱讀 1277

1,空的except語句將會捕捉所有的異常,可以用sys模組中取出異常名和異常的值

2,raw_input()讀檔案到末尾時,會引發eoferror異常,這種異常不是錯誤

3,finally只做清楚工作,不做異常處理

異常處理的例子:

myexception="error"defraise1():

raisemyexception,"hello"defraise2():

raisemyexception

deftryer(func):

try:

func()

exceptmyexception,extrainfo:

importsys

printsys.exc_type

print"got this:",extrainfo

執行的例子:

fromexcimport*

tryer(raise1)

tryer(raise2)

報錯:typeerror: exceptions must be old-style classes or derived from baseexception, not str

原因:in python 2.5 and below, your code would work, as then it was allowed to raise strings as exceptions. this was a very bad decision, and so removed in 2.6.

改寫後的例子:

classmyexception(exception):

passdefraise1():

raisemyexception,"hello"defraise2():

raisemyexception

deftryer(func):

try:

func()

exceptmyexception,extrainfo:

importsys

printsys.exc_type

print"got this:",extrainfo

讓自己編寫的異常類全部繼承於exception頂級異常類就行了

python中異常語句 python 異常

導航 python的異常分為兩種,1 語法錯誤,在python直譯器的語法檢測中不通過不能執行 2 異常,python程式執行期檢測到的錯誤被稱為異常。在沒有做異常處理時,將終止程式並提示異常資訊,如 字串轉換為數字時的型別轉換異常,檔案讀取時的檔案不存在異常,網路鏈結時主機不可達異常 等。當pyt...

python中的異常

exception類是最常用的異常類,該類包括standarderror,stopiteration,generatorexit,warning等異常類.standarderror類是python的錯誤異常,如果程式中出現邏輯上的錯誤,將引發該異常.例如除數為0的異常。standarderror類是...

python中的異常

try語句按照如下方式工作 乙個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。處理程式將只針對對應的try子句中的異常進行處理,而不是其他的 try 的處理程式中的異常。乙個except子句可以同時處理多個異常,這些異常將被放在乙個括號裡成為乙個元...