Lemon 異常處理

2021-10-03 17:59:16 字數 3040 閱讀 1226

目錄

異常捕獲

捕獲指定型別的異常

可以定義變數來接收異常

捕獲多個異常

捕獲不確定的異常

else場景應用

finally應用場景

raise主動丟擲異常

assert斷言

對於有可能會出錯的**, 我們可以對這行**進行異常捕獲。

try-except

try-except-else

try-except-else-finally

try-except-finally

示例:

try:

a = int(input('請輸入乙個數字:'))

except:

print('出錯啦!(try裡面的**出現了異常執行except中的**)')

else:

print('try裡面的**沒有出現異常的時候執行else中的**')

finally:

print('不管**是否出現異常,都會執行!')

示例:

try:

a = int(input('請輸入乙個數字:'))

print(b)

except nameerror: # 指定異常才會**獲。出現其他異常還是會報錯。

print('出錯啦!(出現nameerror會列印)')

示例:

try:

a = int(input('請輸入乙個數字:'))

print(b)

except nameerror as e:

print('當前出錯的原因:', e)  # 輸出結果:name 'b' is not defined

print('出錯啦!(出現nameerror會列印)')

示例:

# 方法一:使用多個except(不同的異常型別,可以做不同的處理)

try:

a = int(input('請輸入乙個數字:'))

print(b)

except nameerror as e:

print('當前出錯的原因:', e)

print('出錯啦!(出現nameerror會列印)')

except valueerror as e2:

print('當前出錯的原因:', e2)

print('出錯啦!(出現valueerror會列印)')

# 方式二:乙個except(不同異常做相同處理)

try:

a = int(input('請輸入乙個數字:'))

print(b)

except (nameerror, valueerror) as e:

print('當前出錯的原因:', e)

print('出錯啦!(出現nameerror, valueerror會列印)')

# 注意:上述**中,try的第一行**出現異常,try中的第二行**就不會執行了

捕獲不確定的異常, 可以直接捕獲常見異常型別的父類

示例:

try:

print('出錯的原因:', e)

示例:

import os

# 複製指定路徑下的檔案到當前檔案所在的目錄

def file_copy(path):

try:

file_list = os.listdir(path)

except filenotfounderror as e:

print('你傳入的路徑不對,出現了錯誤,錯誤提示{}'.format(e))

# 獲取檔案路徑沒有出錯才執行以下**

else:

for file in file_list:

# 定位目標目錄的檔案

file_path = os.path.join(path, file)

# 如果是檔案,則進行檔案複製

if os.path.isfile(file_path):

# 讀取檔案的內容

with open(file_path, 'rb') as f:

content = f.read()

# 將上面讀取到的內容寫入到新檔案中, 新檔案跟當前檔案同級,並且命名帶有cp

# with open(os.path.join(os.getcwd(), 'cp' + file), 'wb') as f:

with open('cp' + file, 'wb') as f:

f.write(content)

file_copy('path')

示例:

# 通過finally來關閉檔案

f = open('case.txt', 'w', encoding='utf-8')

try:

n= input('請輸入數字:')

except:

f.write('**錯誤了!')

else:

f.write('**沒有錯誤了!')

finally:

print('finally執行了!')

f.close()

示例:

print('-----------------------')

# raise valueerror('這個自定的錯誤提示')

raise assertionerror

print('-----------------------')

示例:

excepted = '用例執行通過'

result = '用例執行未通過'

assert excepted == result # 不相等,會丟擲異常assertionerror

struts 異常處理 全域性異常處理

記錄一下全域性異常處理的過程 處理主動丟擲的異常,轉向錯誤提示頁面。1 寫乙個自己的異常,繼承runtimeexception,從父類生成構造方法 package me.yndy.srtp.exception suppresswarnings serial public class errorexc...

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

Lemon動畫庫介紹

2013 08 09 09 46 23 分類 a之lemon動畫庫 標籤 lemon動畫庫動畫 舉報 字型大小訂閱 lemon 動畫庫介紹 lemon 概述lemon 是為android 應用程式而開發的特效動畫庫。當 ui顯示介面需要更新或切換時,lemon 可以幫助應用程式實現 ui介面以動畫特...