try: pass;except Exception,e: pass;finally: pass;2.異常其他結構:
try: # 主代碼塊 passexcept KeyError,e: # 異常時,執行該塊 passelse: # 主代碼塊執行完,執行該塊 passfinally: # 無論異常與否,最終執行該塊 pass3.觸發異常
raise4.自定義異常:
# -*- coding:utf-8 -*-# __author__ = 'Administrator'class MyException(Exception): def __init__(self,msg): self.message = msg; def __str__(self): return self.message;try: assert 1==1; #自定義觸發異常 raise MyException("自定義異常");except MyException,e: PRint e;finally: print "不論前面的是否錯誤都會執行......";5.斷言assert
# -*-coding:utf8 -*-# __author__ = 'Administrator'#目的1.調試#目的2.可以判斷前面的某個條件是否成立,說白了也是調試print "a";assert 1==2;print "b";6.異常種類
AttributeError 試圖訪問一個對象沒有的樹形,比如foo.x,但是foo沒有屬性xIOError 輸入/輸出異常;基本上是無法打開文件ImportError 無法引入模塊或包;基本上是路徑問題或名稱錯誤IndentationError 語法錯誤(的子類) ;代碼沒有正確對齊IndexError 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]KeyError 試圖訪問字典里不存在的鍵KeyboardInterrupt Ctrl+C被按下NameError 使用一個還未被賦予對象的變量SyntaxError Python代碼非法,代碼不能編譯(個人認為這是語法錯誤,寫錯了)TypeError 傳入對象類型與要求的不符合UnboundLocalError 試圖訪問一個還未被設置的局部變量,基本上是由于另有一個同名的全局變量,導致你以為正在訪問它ValueError 傳入一個調用者不期望的值,即使值的類型是正確的ArithmeticErrorAssertionErrorAttributeErrorBaseExceptionBufferErrorBytesWarningDeprecationWarningEnvironmentErrorEOFErrorExceptionFloatingPointErrorFutureWarningGeneratorExitImportErrorImportWarningIndentationErrorIndexErrorIOErrorKeyboardInterruptKeyErrorLookupErrorMemoryErrorNameErrorNotImplementedErrorOSErrorOverflowErrorPendingDeprecationWarningReferenceErrorRuntimeErrorRuntimeWarningStandardErrorStopIterationSyntaxErrorSyntaxWarningSystemErrorSystemExitTabErrorTypeErrorUnboundLocalErrorUnicodeDecodeErrorUnicodeEncodeErrorUnicodeErrorUnicodeTranslateErrorUnicodeWarningUserWarningValueErrorWarningZeroDivisionError在python的異常中,有一個萬能異常:Exception,他可以捕獲任意異常,即:s1
=
'hello'
try
:
int
(s1)
except
Exception,e:
e
新聞熱點
疑難解答