python(unsubscriptable object異常),是設置錯誤造成的,解決方法如下;
十年的渭城網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整渭城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“渭城網(wǎng)站設計”,“渭城網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1、首先創(chuàng)建一個py文件,輸入“for i in range(10):y=1if i==5:y=0i=i/yprint(i)”代碼,如下圖所示。
2、運行py文件,可以看到程序運行到i等于5的時候出現(xiàn)了分母為0的異常,程序中斷不繼續(xù)執(zhí)行,如下圖所示。
3、這時將可能出現(xiàn)異常的代碼添加try...except...語句,代碼如下圖。
4、運行py文件,可以看到python已經(jīng)跳過異常繼續(xù)執(zhí)行了,如下圖所示。
5、如果是函數(shù)調(diào)用可能出現(xiàn)異常的話,可以在函數(shù)外面使用try...except...語句,這樣程序出現(xiàn)異常了,可以繼續(xù)執(zhí)行。
下面有兩種解決方法,第一種是類似if..else..;另外一種是使用語句來實現(xiàn)繼續(xù)執(zhí)行;
方法一:使用try...except...語句,類似于if...else...,可以跳過異常繼續(xù)執(zhí)行程序,這是Python的優(yōu)勢
用法如下:
方法二:使用語句來繼續(xù)執(zhí)行;
拓展資料
異常處理特點:
1.在應用程序遇到異常情況(如被零除情況或內(nèi)存不足警告)時,就會產(chǎn)生異常。
2.發(fā)生異常時,控制流立即跳轉(zhuǎn)到關(guān)聯(lián)的異常處理程序(如果存在)。
3.如果給定異常沒有異常處理程序,則程序?qū)⑼V箞?zhí)行,并顯示一條錯誤信息。
4.可能導致異常的操作通過 try 關(guān)鍵字來執(zhí)行。
5.異常處理程序是在異常發(fā)生時執(zhí)行的代碼塊。在 C# 中,catch 關(guān)鍵字用于定義異常處理程序。
6.程序可以使用 throw 關(guān)鍵字顯式地引發(fā)異常。
7.異常對象包含有關(guān)錯誤的詳細信息,其中包括調(diào)用堆棧的狀態(tài)以及有關(guān)錯誤的文本說明。
8.即使引發(fā)了異常,finally 塊中的代碼也會執(zhí)行,從而使程序可以釋放資源。
參考資料來源:百度百科:異常處理
目前來看你的異常不是有try里面的語句引起的,是一個postName = ××× 的語句,try,except方法是可以跳過異常的,希望你能把程序給的更詳細些,不然postName的語句問題出在哪我也不清楚
不管是什么程序,python使用tryexcept語句來處理異常。tryexcept語句不僅僅是要讓其捕獲異常更重要的是讓其忽略異常,因為爬蟲中的絕大多數(shù)異??赡苤匦抡埱缶筒淮嬖?,因此,發(fā)現(xiàn)異常的時候?qū)⑵淙蝿贞犃羞M行修復其實是個最省力的好辦法。
#計算機# #程序員# #python# #代碼# #IT#
程序在運行的時候,如果python解釋器遇到 不是語法錯誤 時,會停止程序的執(zhí)行,并且拋出一些錯誤的信息進行提示,這就是異常。
方式try-except語句捕獲 所有發(fā)生的異常 。但這不是一個很好的方式,我們不能通過該程序識別出具體的異常信息。因為它捕獲所有的異常,常用于函數(shù)最外層進行捕捉未知異常。
1)情況1
2)情況2
3)情況3
當在try塊中拋出一個異常,立即執(zhí)行finally塊代碼。
finally塊中的所有語句執(zhí)行后,異常被再次觸發(fā),并執(zhí)行except塊代碼。
在不確定異常是哪個的情況下,常用的except的異常有: Exception、BaseException 。
關(guān)注我,堅持每日積累一個技巧, 長期堅持 ,我們將會不斷進步。
8.3. 異常處理
通過編程處理選擇的異常是可行的??匆幌孪旅娴睦樱核鼤恢币笥脩糨斎?,直到輸入一個合法的整數(shù)為止,但允許用戶中斷這個程序(使用 Control-C 或系統(tǒng)支持的任何方法)。注意:用戶產(chǎn)生的中斷會引發(fā)一個 KeyboardInterrupt 異常。
while True:
... try:
... x = int(input("Please enter a number: "))
... break
... except ValueError:
... print("Oops! That was no valid number. Try again...")
...
try 語句按如下方式工作。
首先,執(zhí)行 try 子句 (在 try 和 except 關(guān)鍵字之間的部分)。
如果沒有異常發(fā)生, except 子句 在 try 語句執(zhí)行完畢后就被忽略了。
如果在 try 子句執(zhí)行過程中發(fā)生了異常,那么該子句其余的部分就會被忽略。
如果異常匹配于 except 關(guān)鍵字后面指定的異常類型,就執(zhí)行對應的except子句。然后繼續(xù)執(zhí)行 try 語句之后的代碼。
如果發(fā)生了一個異常,在 except 子句中沒有與之匹配的分支,它就會傳遞到上一級 try 語句中。
如果最終仍找不到對應的處理語句,它就成為一個 未處理異常,終止程序運行,顯示提示信息。
一個 try 語句可能包含多個 except 子句,分別指定處理不同的異常。至多只會有一個分支被執(zhí)行。異常處理程序只會處理對應的 try 子句中發(fā)生的異常,在同一個 try 語句中,其他子句中發(fā)生的異常則不做處理。一個 except 子句可以在括號中列出多個異常的名字,例如:
... except (RuntimeError, TypeError, NameError):
... pass
最后一個 except 子句可以省略異常名稱,以作為通配符使用。你需要慎用此法,因為它會輕易隱藏一個實際的程序錯誤!可以使用這種方法打印一條錯誤信息,然后重新拋出異常(允許調(diào)用者處理這個異常):
網(wǎng)站欄目:python忽略異常函數(shù) python忽略空格
當前網(wǎng)址:http://jinyejixie.com/article34/dossipe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、建站公司、云服務器、域名注冊、虛擬主機、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)