定義
語法
try
:《語句》
#可能發生異常的**
except
《名字》
:《語句》
#如果在try部份引發了'name'異常
except
《名字》
as《異常引數》
:《語句》
#如果引發了『name』異常,獲得附加的異常物件
else
:《語句》
#如果沒有異常發生
import sys
try:
n=0print(10
/ n)
except
:print
("做除法時發生異常!"
)
try
: fp =
open
('t.txt'
,'r'
) content=fp.read(
) fp.close(
)except ioerror:
print
('讀取檔案時,發生ioerror 異常!'
)else
:print
('檔案讀取成功'
)print
(content)
import sys
try:
s=input
('enter something-->'
)except keyboardinterrupt:
print
('\nwhy did you do an ctrl+c on me?'
) sys.exit(
)except
:print
('\nsome error/exception occurred.'
)else
:print
('no exception occur!'
)finally
:print
('finally is executed!'
)
try
: fp=
open
('a.txt'
,'r'
)try
: content=fp.read(
)print
(content)
finally
:print
('關閉檔案'
) fp.close(
)except ioerror:
print
('error:沒有找到檔案或讀取檔案失敗'
)
語法
try-except execptiontype,argument
try
: fp=
open
('c.txt'
,'r'
)try
: content=fp.read(
)finally
: fp.close(
)except exception as e:
print
('檔案讀取失敗'
)print
('列印異常資訊'
)print
(e)
語法:
raise[someexcpetion[, args [, traceback]]]
import traceback
try:
value=
input
('請輸入乙個整數:')if
not value.isdigit():
raise valueerror(
'not a int'
)except valueerror as e:
print
('值錯誤:'
,e)
class
networkerror
(runtimeerror)
:def
__init__
(self,value)
: self.value = value
try:
raise networkerror(
'bad hostname'
)except networkerror as e:
print
('my exception occured,value'
,e.value)
Python基礎知識(九)異常處理
1 syntaxerror 語法錯誤 try 有可能出現異常 except 異常型別as例項 捕獲特定異常 finally 不論是否遇到異常均會執行 raise 手動丟擲異常 else 未遇到異常 測試案例 測試類測試 import unittest from coder import coder ...
python基礎知識(九)
遞迴函式 條件 1 函式自己呼叫自己 2 函式呼叫必須有退出 eg def hanshu x print x if x 1 return hanshu x 1 print hanshu 4 結果為 階乘eg 求10!def jiecheng x if x 1 return 1 a jiecheng ...
python基礎知識整理檔案和異常(九)
檔案和異常 從檔案中讀取資料 先建立檔案qingtian.txt with open qingtian.txt r encoding utf 8 as f a f.read print a 檔案的路徑 相對路徑 根據你組織檔案的方式,有時可能要開啟不在程式檔案所屬目錄中的檔案。例如,你可能將程式檔案...