python中的異常處理

2021-10-01 21:42:59 字數 2119 閱讀 5360

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 ...