標籤:建立 uri print 代碼 als /usr 將不 表達 blog
python中raise和assert的區別一、使用raise拋出異常
python可以自動觸發異常,raise(內建函數)的定義為顯示的拋出異常,使用者可以使用raise進行判斷,顯式的引發異常,raise執行後程式將不再向下執行。
式例:
#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = ‘40kuai‘books_dict = {‘name‘:‘python‘,‘pages‘:390}key = input(‘查看屬性:‘)if key in books_dict: print(books_dict[key])else: raise KeyError# 當要查詢的屬性不在字典中時會觸發異常
raise也可以使用者建立自訂的異常
#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = ‘40kuai‘class helei(Exception): # 繼承 Exception def __init__(self, msg): self.message = msg def __str__(self): # 被print調用時執行,可以不寫 return self.messageif __name__ == ‘__main__‘: try: raise helei(‘我的異常‘) # 觸發異常 except helei as e: print(e)
二、assert使用
assert語句用於檢測某個條件運算式是否為真。assert語句又稱為Assert 陳述式,即assert認為檢測的運算式永遠為真。
斷言用來指定某一操作必須為真。也可以在指令碼執行時加上python -O 參數來跳過assert檢測。
可以使用assert False 來顯示代碼編寫未完成
python raise和assert的區別