亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python try 異常處理(史上最全)

 更新時(shí)間:2019年03月07日 11:15:56   作者:charles7987  
為了處理異常,我們使用try...except,這篇文章主要介紹了python try 異常處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在程序出現(xiàn)bug時(shí)一般不會(huì)將錯(cuò)誤信息顯示給用戶,而是現(xiàn)實(shí)一個(gè)提示的頁(yè)面,通俗來(lái)說(shuō)就是不讓用戶看見大黃頁(yè)?。?!

有時(shí)候我們寫程序的時(shí)候,會(huì)出現(xiàn)一些錯(cuò)誤或異常,導(dǎo)致程序終止.

為了處理異常,我們使用try...except

把可能發(fā)生錯(cuò)誤的語(yǔ)句放在try模塊里,用except來(lái)處理異常。

except可以處理一個(gè)專門的異常,也可以處理一組圓括號(hào)中的異常,

如果except后沒(méi)有指定異常,則默認(rèn)處理所有的異常。

每一個(gè)try,都必須至少有一個(gè)except

在python的異常中,有一個(gè)萬(wàn)能異常:Exception,他可以捕獲任意異常

s1 = 'hello'
try:
  int(s1)
except Exception,e:
  print e

程序時(shí)需要考慮到try代碼塊中可能出現(xiàn)的多個(gè)異常,可以這樣寫:

s1 = 'hello'
try:
  int(s1)
except IndexError,e:
  print e
except KeyError,e:
  print e
except ValueError,e:
  print e

異常的簡(jiǎn)單結(jié)構(gòu)和復(fù)雜結(jié)構(gòu) 

 try:
  pass
except Exception as e: #python2 中還可以這樣寫:except Exception,e
  pass

完整實(shí)列

try:
  # 主代碼塊
  pass
except KeyError,e:
  # 異常時(shí),執(zhí)行該塊
  pass
else:
  # 主代碼塊執(zhí)行完,執(zhí)行該塊
  pass
finally:
  # 無(wú)論異常與否,最終執(zhí)行該塊
  pass

先定義特殊提醒的異常,最后定義Exception,來(lái)確保程序正常運(yùn)行。

先特殊,后萬(wàn)能

s1 = 'hello'
try:
  int(s1)
except KeyError,e:
  print '鍵錯(cuò)誤'
except IndexError,e:
  print '索引錯(cuò)誤'
except Exception, e:
  print '錯(cuò)誤'

主動(dòng)觸發(fā)異常

raise Exception('messages') 可以自定義報(bào)錯(cuò)信息

a=2
if a > 1:
  raise ValueError('值大于1')

raise 觸發(fā)異常

try:
  raise Exception('錯(cuò)誤了。。。')
except Exception,e:
  print e

自定義異常

 class WupeiqiException(Exception):
 
  def __init__(self, msg):
    self.message = msg
 
  def __str__(self):
    return self.message
 
try:
  raise WupeiqiException('我的異常')
except WupeiqiException,e:
  print e

python所有的標(biāo)準(zhǔn)異常類:

異常名稱 描述
BaseException 所有異常的基類
SystemExit 解釋器請(qǐng)求退出
KeyboardInterrupt 用戶中斷執(zhí)行(通常是輸入^C)
Exception 常規(guī)錯(cuò)誤的基類
StopIteration 迭代器沒(méi)有更多的值
GeneratorExit 生成器(generator)發(fā)生異常來(lái)通知退出
SystemExit Python 解釋器請(qǐng)求退出
StandardError 所有的內(nèi)建標(biāo)準(zhǔn)異常的基類
ArithmeticError 所有數(shù)值計(jì)算錯(cuò)誤的基類
FloatingPointError 浮點(diǎn)計(jì)算錯(cuò)誤
OverflowError 數(shù)值運(yùn)算超出最大限制
ZeroDivisionError 除(或取模)零 (所有數(shù)據(jù)類型)
AssertionError 斷言語(yǔ)句失敗
AttributeError 對(duì)象沒(méi)有這個(gè)屬性
EOFError 沒(méi)有內(nèi)建輸入,到達(dá)EOF 標(biāo)記
EnvironmentError 操作系統(tǒng)錯(cuò)誤的基類
IOError 輸入/輸出操作失敗
OSError 操作系統(tǒng)錯(cuò)誤
WindowsError 系統(tǒng)調(diào)用失敗
ImportError 導(dǎo)入模塊/對(duì)象失敗
KeyboardInterrupt 用戶中斷執(zhí)行(通常是輸入^C)
LookupError 無(wú)效數(shù)據(jù)查詢的基類
IndexError 序列中沒(méi)有沒(méi)有此索引(index)
KeyError 映射中沒(méi)有這個(gè)鍵
MemoryError 內(nèi)存溢出錯(cuò)誤(對(duì)于Python 解釋器不是致命的)
NameError 未聲明/初始化對(duì)象 (沒(méi)有屬性)
UnboundLocalError 訪問(wèn)未初始化的本地變量
ReferenceError 弱引用(Weak reference)試圖訪問(wèn)已經(jīng)垃圾回收了的對(duì)象
RuntimeError 一般的運(yùn)行時(shí)錯(cuò)誤
NotImplementedError 尚未實(shí)現(xiàn)的方法
SyntaxError Python 語(yǔ)法錯(cuò)誤
IndentationError 縮進(jìn)錯(cuò)誤
TabError Tab 和空格混用
SystemError 一般的解釋器系統(tǒng)錯(cuò)誤
TypeError 對(duì)類型無(wú)效的操作
ValueError 傳入無(wú)效的參數(shù)
UnicodeError Unicode 相關(guān)的錯(cuò)誤
UnicodeDecodeError Unicode 解碼時(shí)的錯(cuò)誤
UnicodeEncodeError Unicode 編碼時(shí)錯(cuò)誤
UnicodeTranslateError Unicode 轉(zhuǎn)換時(shí)錯(cuò)誤
Warning 警告的基類
DeprecationWarning 關(guān)于被棄用的特征的警告
FutureWarning 關(guān)于構(gòu)造將來(lái)語(yǔ)義會(huì)有改變的警告
OverflowWarning 舊的關(guān)于自動(dòng)提升為長(zhǎng)整型(long)的警告
PendingDeprecationWarning 關(guān)于特性將會(huì)被廢棄的警告
RuntimeWarning 可疑的運(yùn)行時(shí)行為(runtime behavior)的警告
SyntaxWarning 可疑的語(yǔ)法的警告
UserWarning 用戶代碼生成的警告

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python刪掉重復(fù)行之drop_duplicates()用法示例

    python刪掉重復(fù)行之drop_duplicates()用法示例

    Pandas的drop_duplicates()方法用于從DataFrame中刪除重復(fù)的行,這篇文章主要給大家介紹了關(guān)于python刪掉重復(fù)行之drop_duplicates()用法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • python調(diào)用百度語(yǔ)音識(shí)別api

    python調(diào)用百度語(yǔ)音識(shí)別api

    這篇文章主要介紹了python調(diào)用百度語(yǔ)音識(shí)別api,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python中元組的概念及應(yīng)用小結(jié)

    Python中元組的概念及應(yīng)用小結(jié)

    Python中的元組和列表很相似,元組也是Python語(yǔ)言提供的內(nèi)置數(shù)據(jù)結(jié)構(gòu)之一,可以在代碼中直接使用,這篇文章主要介紹了Python中元組的概念以及應(yīng)用,需要的朋友可以參考下
    2023-01-01
  • 在PyCharm的 Terminal(終端)切換Python版本的方法

    在PyCharm的 Terminal(終端)切換Python版本的方法

    這篇文章主要介紹了在PyCharm的 Terminal(終端)切換Python版本的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python yield使用方法示例

    Python yield使用方法示例

    這篇文章主要介紹了Python yield使用方法,大家參考使用吧
    2013-12-12
  • 如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron)

    如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron)

    這篇文章主要介紹了如何用Python 實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)(Multi-layer Perceptron),幫助大家更好的進(jìn)行機(jī)器學(xué)習(xí),感興趣的朋友可以了解下
    2020-10-10
  • Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)解析

    Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)解析

    torch.squeeze()這個(gè)函數(shù)主要對(duì)數(shù)據(jù)的維度進(jìn)行壓縮,去掉維數(shù)為1的的維度,下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • PyTorch的Debug指南

    PyTorch的Debug指南

    這篇文章主要介紹了PyTorch的Debug的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用PyTorch,感興趣的朋友可以了解下
    2021-05-05
  • python解決js文件utf-8編碼亂碼問(wèn)題(推薦)

    python解決js文件utf-8編碼亂碼問(wèn)題(推薦)

    這篇文章主要介紹了python解決js文件utf-8編碼亂碼問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • django 做 migrate 時(shí) 表已存在的處理方法

    django 做 migrate 時(shí) 表已存在的處理方法

    今天小編就為大家分享一篇django 做 migrate 時(shí) 表已存在的處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08

最新評(píng)論