欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

在程序出現bug時一般不會將錯誤信息顯示給用戶,而是現實一個提示的頁面,通俗來說就是不讓用戶看見大黃頁!??!

有時候我們寫程序的時候,會出現一些錯誤或異常,導致程序終止.

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

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

except可以處理一個專門的異常,也可以處理一組圓括號中的異常,

如果except后沒有指定異常,則默認處理所有的異常。

每一個try,都必須至少有一個except

在python的異常中,有一個萬能異常:Exception,他可以捕獲任意異常

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

程序時需要考慮到try代碼塊中可能出現的多個異常,可以這樣寫:

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

異常的簡單結構和復雜結構 

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

完整實列

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

先定義特殊提醒的異常,最后定義Exception,來確保程序正常運行。

先特殊,后萬能

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

主動觸發(fā)異常

raise Exception('messages') 可以自定義報錯信息

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

raise 觸發(fā)異常

try:
  raise Exception('錯誤了。。。')
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所有的標準異常類:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

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

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

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

    python調用百度語音識別api

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

    Python中元組的概念及應用小結

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

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

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

    Python yield使用方法示例

    這篇文章主要介紹了Python yield使用方法,大家參考使用吧
    2013-12-12
  • 如何用Python 實現全連接神經網絡(Multi-layer Perceptron)

    如何用Python 實現全連接神經網絡(Multi-layer Perceptron)

    這篇文章主要介紹了如何用Python 實現全連接神經網絡(Multi-layer Perceptron),幫助大家更好的進行機器學習,感興趣的朋友可以了解下
    2020-10-10
  • Pytorch中torch.unsqueeze()與torch.squeeze()函數詳細解析

    Pytorch中torch.unsqueeze()與torch.squeeze()函數詳細解析

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

    PyTorch的Debug指南

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

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

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

    django 做 migrate 時 表已存在的處理方法

    今天小編就為大家分享一篇django 做 migrate 時 表已存在的處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論