日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基础知识回顾——异常处理

發(fā)布時(shí)間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础知识回顾——异常处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python用異常對(duì)象(exception object)來表示異常情況。遇到錯(cuò)誤后,會(huì)引發(fā)異常,如果異常對(duì)象并未被處理或捕捉,程序就會(huì)用所謂的 回溯(Traceback, 一種錯(cuò)誤信息)終止執(zhí)行,因此程序可以通過異常處理來提高容錯(cuò)性。


認(rèn)識(shí)異常

?1.raise語(yǔ)句引發(fā)異常

1 >>> raise Exception 2 3 Traceback (most recent call last): 4   File "<pyshell#0>", line 1, 5   in <module> raise Exception Exception

2.遇到錯(cuò)誤引發(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 zero

3.系統(tǒng)自帶的內(nèi)建異常類

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類繼承

1 import Exceptions 2 class printException(Exception): 3  pass 4 5 def testRaise(): 6 raise printException('printError')
7 try: 8 testRaise() 9 except printException,e: 10 print e

?運(yùn)行結(jié)果:

printError

?

捕獲異常

捕獲異常是對(duì)可能犯錯(cuò)以及可能的犯錯(cuò)類型,定義好的”應(yīng)急預(yù)案“。如果try中有異常發(fā)生時(shí),將執(zhí)行異常的歸屬,即執(zhí)行相應(yīng)的except中的語(yǔ)句。如果except后面沒有任何參數(shù),那么表示所有的exception都交給這段程序處理。
完整語(yǔ)法:

try:...except exception1:...except exception2:...except:...else:...finally:...

如果try中沒有異常,那么except部分將跳過,執(zhí)行else中的語(yǔ)句。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 "請(qǐng)輸入數(shù)字!" 9 except: 10   print("Not Type Error & ZeroDivisionError")

?

轉(zhuǎn)載于:https://www.cnblogs.com/Ryana/p/5973770.html

總結(jié)

以上是生活随笔為你收集整理的基础知识回顾——异常处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。