print(a)
nameerror: name 'a' is not defined
"""print(10/0)
#錯誤:zerodivisionerror: division by zero
str =
'hello'
print(str[10]
)#錯誤: indexerror: string index out of range
d = dict(a=1,b=2)
d =print(d.get(
'c','key不存在'
))print(d.get(
'c'))
print(d[
'c']
)#錯誤 keyerror: 'c'
eg:
try:
# 不能確定正確之行的**
num = int(input(
'請輸入乙個數字:'
)) print(num)
except:
# try裡面的**如果有異常/錯誤 才會之行以下**
print(
'請輸入正確的整數!!!!'
)print(
'*' * 50)
eg2:
try:
num = int(input(
'num:'
)) result = 8 / num
print(result)
except zerodivisionerror:
print(
'0不能做除數'
)# except valueerror:
# print('請輸入正確的值')
except exception as r:
print(
'未知錯誤!!'
)# 程式沒有碰到致命錯誤 就執行else
else:
print(
'hello'
)finally:
# 無論是否遇到異常都會執行
print(
'!!!!'
)
def demo1(
): try:
return int(input(
'請輸入正確的整數:'
)) except exception as r:
print(
'未知錯誤 %s' %r)
def demo2(
): return demo1(
)print(demo2(
))
eg:
def input_passwd(
): # 1.提示使用者輸入密碼
pwd= input(
'請輸入密碼:'
)# 2.判斷密碼長度
if len(pwd)
>= 8:
return
pwd# 3.如果<8 就主動丟擲異常
print(
'主動丟擲異常'
)# a.建立異常物件
ex = exception(
'密碼長度不夠,必須大於8位'
)# b.主動丟擲異常
raise ex
# 注意:只丟擲異常不捕獲 **會報錯
try:
print(input_passwd(
))except exception as re:
print(re)
eg:
錄入學生資訊的系統;
對錄入的資訊進行校驗: 1). len(姓名)>2 2). 18使用者可以一直輸入數字, 當按ctrl+c之後計算所有數的和;
result = 0
while true:
try:
num = int(input(
'num:'
)) result += num
except keyboardinterrupt:
print(
'執行結果:',result)
break
python 中的異常處理
python的異常處理能力是很強大的,可向使用者準確反饋出錯資訊。在python中,異常也是物件,可對它進行操作。所有異常都是基類exception的成員。所有異常都從基類exception繼承,而且都在exceptions模組中定義。python自動將所有異常名稱放在內建命名空間中,所以程式不必匯...
Python中的異常處理
當python檢測到乙個錯誤時,直譯器就無法繼續執行了,反而出現了一些錯誤的提示,這就是所謂的 異常 看如下示例 try print test1 open 123.txt r print test2 except ioerror pass此時可以正常執行,執行結果為 test1 說明 try exc...
python中的異常處理
python使用異常物件來表示異常狀態,並在遇到錯誤時引發異常,異常物件未被處理時,程式將終止並顯示一條錯誤資訊。raise語句 自定義異常類 class somecustomexception exception pass class myexceptionclass exception def ...