基础知识回顾——异常处理
生活随笔
收集整理的這篇文章主要介紹了
基础知识回顾——异常处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python用異常對象(exception object)來表示異常情況。遇到錯誤后,會引發(fā)異常,如果異常對象并未被處理或捕捉,程序就會用所謂的 回溯(Traceback, 一種錯誤信息)終止執(zhí)行,因此程序可以通過異常處理來提高容錯性。
認識異常
?1.raise語句引發(fā)異常
1 >>> raise Exception 2 3 Traceback (most recent call last): 4 File "<pyshell#0>", line 1, 5 in <module> raise Exception Exception2.遇到錯誤引發(fā)異常
1 >>> 7/0 2 3 Traceback (most recent call last): 4 File "<pyshell#1>", line 1, in <module> 7/0 5 ZeroDivisionError: integer division or modulo by zero3.系統(tǒng)自帶的內建異常類
1 >>> import exceptions 2 >>> dir(exceptions) 3 4 ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferError', 'BytesWarning','DeprecationWarning', 'EOFError', 'EnvironmentError', 'Exception', 'FloatingPointError', 'FutureWarning',
'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'KeyError',
'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'NotImplementedError', 'OSError', 'OverflowError',
'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration',
'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TypeError', 'UnboundLocalError',
'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',
'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '__doc__', '__name__', '__package__']
4.自定義異常,需要從Exception類繼承
7 try: 8 testRaise() 9 except printException,e: 10 print e
?運行結果:
printError?
捕獲異常
捕獲異常是對可能犯錯以及可能的犯錯類型,定義好的”應急預案“。如果try中有異常發(fā)生時,將執(zhí)行異常的歸屬,即執(zhí)行相應的except中的語句。如果except后面沒有任何參數,那么表示所有的exception都交給這段程序處理。
完整語法:
如果try中沒有異常,那么except部分將跳過,執(zhí)行else中的語句。finally是無論是否有異常,最后都要做的一些事。
try->異常->except->finally
try->無異常->else->finally
1 try: 2 x = input('Enter the first number: ') 3 y = input('Enter the second number: ') 4 print x/y 5 except ZeroDivisionError: 6 print "y不能為0!" 7 except TypeError: 8 print "請輸入數字!" 9 except: 10 print("Not Type Error & ZeroDivisionError")?
轉載于:https://www.cnblogs.com/Ryana/p/5973770.html
總結
以上是生活随笔為你收集整理的基础知识回顾——异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 背包问题(动态规划)
- 下一篇: Java并发编程实战 第14章 构建自定