當前位置:首頁 » 編程語言 » pythonfinally

pythonfinally

發布時間: 2024-09-29 02:20:21

python結束程序的語句

sys.exit()
Python中,當有時當一個條件成立的情況下,需要終止程序,可以使用sys.exit()退出程序。sys.exit()會引發一個異常。

1.如果這個異常沒有被捕獲,那麼python編譯器將會退出,後面的程序將不會執行。

2.如果這個異常被捕獲(try...except...finally),捕獲這個異常可以做一些額外的清理工作,後面的程序還會繼續執行。

註:0為正常退出,其他數值(1-127)為不正常,可拋異常事件供捕獲。

另一種終止程序的方法os._exit(),一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()。

Ⅱ Python入門精華-異常處理及其中的finally關鍵字的理解(超詳細)

在python中會遇到兩種錯誤,一種,是==語法錯誤==,這種錯誤不能被解釋器容忍,必須更改為正確語法後程序才能運行;而另外一種,是在==程序運行過程中出現的錯誤==,諸如==NameError==,==TypeError==等此類錯誤,有錯誤名稱和行號以及報錯內容的錯誤,稱之為==異常==。

名詞解釋:

[]:方括弧內的內容不必一定出現

try:異常捕獲塊,有且僅有一個

except:異常處理塊,可以有多個,且每個可以同時處理多種異常;不必一定存在

else:在未捕獲到異常時,進入else;else可可選的,不必一定存在

finaly:不論try有沒有捕獲到異常都會進入的塊,這里很多同學沒有深刻體會到它的用途,只是單純認為,此關鍵字不是必須的,沒有那麼重要,這個是討論的一點,幫助各位童鞋理解加深印象。

as:為各種異常進行一個起別名額功能。

1、首先執行try中的代碼塊(error_statement),如果代碼執行過程中出現異常,python會立刻生成一個對應的異常對象,並且將該異常上報解釋器,由解釋器獲得異常的過程,稱之為==異常捕獲==。

2、如果==捕獲到異常==,會立刻進入異常處理流程(==此時在try中異常出現以後的代碼不會再運行==),即except關鍵字引導的塊,根據關鍵字後邊的ExceptionName來==自上而下由左及右==地逐個檢查是否有對應的異常名稱,如果有則進入對應的except模塊,執行==其中的do_Excepttion_statement代碼塊==;如果沒有檢測到匹配的異常名稱則==不會進入任何except塊==,代碼會繼續向下運行。

3、else流程:在try中未檢測到任何異常才會進入else,童鞋們可能會有疑問?是沒有檢測到異常,還是except沒有包含該異常?注意~~這是兩個概念,前者是沒有異常,後者是有異常但是沒有進行except處理。答案是,沒有檢測到任何異常(代碼完全OK)才會進入else。示例如下:

4、except流程:

此處主要強調在最上邊例子中的except[(ExceptionName1,ExceptionName2 ...) [as ...]]:的理解,『[ ]』上邊提到過,是代表可以沒有;那麼,童鞋寫了如下代碼,看看兩種代碼的結果是否相同呢?

首先,需要搞清楚,代碼二是有語法錯誤的,這個必須得改正,問題在於else不能和try搭配,只能和except;第二點,這個是重點,只寫except和什麼都不寫之間有沒有區別?答案是肯定的,什麼都不寫代表不進行處理,而只寫 except :』 相當於 ==『except Exception:』,這種寫法意思是說萬能異常處理,即Exception這種異常是所有異常的統稱,所以如上的代碼一是勢必會列印『name is error』這句話。

5、finally流程(重點) :童鞋們往往在有些時候比較難理解finally的存在的意義,但是對於這樣的流程,大家卻都知道無論try是否捕獲到異常,都會進入finally流程』;那麼接下來,我們細細品一品這個sao氣外漏的fianlly究竟為何如此之sao。

5.1 fianlly: 其實這玩意有個冠冕堂皇的功能:垃圾處理機制,說白了,如果你打開了一些物理文件,最終,是需要finally來進行關閉的(有同學就說了,那不寫在finally里邊不行嗎,也可以。)

5.2究竟如何理解?示例如下:

5.3 總結:

當 try 塊中代碼發生異常,導致程序崩潰時,在崩潰前 Python 解釋器也會執行 finally 塊中的代碼

熱點內容
protues用什麼編譯器 發布:2024-09-29 04:04:12 瀏覽:420
bab編程 發布:2024-09-29 03:48:58 瀏覽:932
魔獸世界伺服器新是什麼意思 發布:2024-09-29 03:43:48 瀏覽:389
吉利博越自動擋哪個配置最好 發布:2024-09-29 03:43:26 瀏覽:760
伺服器出現故障碼怎麼解決 發布:2024-09-29 03:40:50 瀏覽:181
公費訪問學者 發布:2024-09-29 03:33:12 瀏覽:309
雲主機源碼 發布:2024-09-29 03:18:28 瀏覽:663
cspython 發布:2024-09-29 02:58:07 瀏覽:738
下載加密日記軟體 發布:2024-09-29 02:58:07 瀏覽:800
晴天伺服器我的世界 發布:2024-09-29 02:57:58 瀏覽:448