python學習筆記-異常<10>

<h3>1. 遇到的常見的異常:</h3>
SyntaxError 語法錯誤
NameError 未聲明/初始化對象
TypeError 對類型無效的操作
KeyError 字典中查找不存在的鍵
IOError 輸入/輸出操作失敗
IndexError 序列中沒有此索引
ImportError 導入模塊/對象失敗

<h3>2. 異常捕抓:</h3>
<h5>try......except</h5>
用來檢測語句中的錯誤,從而讓except語句捕獲異常并處理
try后面接的語句一旦出現(xiàn)異常錯誤后面的語句將不執(zhí)行
<h5>except Error as reason:</h5>
是把異常的原因給reason這個變量

<pre>

-- coding:utf-8 --

try:
f = open('abcdefg','r')
except IOError as reason:
print '文件操作錯誤',reason

輸出:
文件操作錯誤 [Errno 2] No such file or directory: 'abcdefg'
</pre>

<h3>3. 異常處理:</h3>
<h5>try.......finally</h5> finally后面的語句就是無論異常是否發(fā)生都會執(zhí)行的語句

<pre>

-- coding:utf-8 --

try:
f = open('abcdefg','w')
f.write('Hello python')
f.read()
except IOError as reason:
print u'文件操作錯誤',reason
finally:
f.close()
print u'異常處理'
輸出:
文件操作錯誤 File not open for reading
異常處理
</pre>

<h3>4. 觸發(fā)異常:</h3>
<h5>raise[Exception]</h5>
使用raise語句自己觸發(fā)異常,并且raise后面的語句不再執(zhí)行

<pre>

-- coding:utf-8 --

try:
print 123
raise IOError('oooooo')
print 234
except IOError,NameError:
print u'文件操作錯誤',NameError
finally:
print 'python'

輸出:
123
文件操作錯誤 oooooo
python
</pre>

<h3>5. 斷言</h3>
assert條件:用來申明某個條件是真的,如果條件是假的則會跑出AssertionError異常
<pre>

assert 1 > 2
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
assert 1 > 2
AssertionError
assert 1 < 2
</pre>

<h3>6. 示例</h3>
<pre>

-- coding:utf-8 --

try:
filename = 'm.py'
f = open(filename)
except IOError as x:
xx = raw_input(u'文件不存在,是否創(chuàng)建這個文件? (Y/N)')
if xx == 'Y':
f = open(filename,'w+')
print u'已為您創(chuàng)建了文件 %s現(xiàn)在可以對f文件對象進行讀寫的操作' % filename
finally:
f.close()
輸出:
文件不存在,是否創(chuàng)建這個文件? (Y/N)Y
已為您創(chuàng)建了文件 m.py現(xiàn)在可以對f文件對象進行讀寫的操作
</pre>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 一、簡介 Python最強大的結(jié)構(gòu)之一就是它的異常處理能力,所有的標準異常都使用類來實現(xiàn),都是基類Exceptio...
    隨風化作雨閱讀 3,085評論 0 1
  • Python異常處理 異常概念: 異常:就是不正常的情況,程序開發(fā)過程中錯誤和BUG都是補充正常的情況 異常發(fā)生的...
    youngkun閱讀 941評論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 異常 異常(exception)就是指必須中斷程序的正常執(zhí)行來進行處理的特殊狀態(tài)。 編碼時采取將異常發(fā)生時的處理和...
    陳_振閱讀 535評論 0 0
  • 1.什么是異常? 異常即是一個事件,該事件會在程序執(zhí)行過程中發(fā)生,影響了程序的正常執(zhí)行。一般情況下,Python無...
    歲月神偷_bde8閱讀 287評論 0 0