第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在for循環(huán)中捕獲異常并僅在循環(huán)完成后返回異常?

如何在for循環(huán)中捕獲異常并僅在循環(huán)完成后返回異常?

米琪卡哇伊 2024-01-15 21:11:02
您好,我有一個(gè)函數(shù)可以解析文件中的前 60 行,并且應(yīng)該在存在完全空白的行時(shí)提醒用戶。然而,這些可能發(fā)生在這 60 行中的任何位置,因此我希望腳本解析整個(gè) 60 行,主要是因?yàn)槲倚枰渲袔仔械臄?shù)據(jù)來進(jìn)行錯(cuò)誤報(bào)告。我們可能想知道這些錯(cuò)誤將來會(huì)發(fā)生在哪里。我寫了這個(gè):def header_data(data):    dictionary = {}    datalen = len(data)    itrcntr = 0    try:        for line in data:            itrcntr += 1            if line.isspace():                raise Exception('File has badly formatted header data line(s)')            else:                linesplit = line.rstrip().split(":")                if len(linesplit) > 1:                    dictionary[linesplit[0]] = linesplit[1].strip()        return dictionary     except Exception as e:        errmsg = str(e)        if itrcntr == datalen:            return (dictionary, errmsg)        else:            pass  有了這個(gè)函數(shù),我希望如果它發(fā)現(xiàn) itrcntr 不等于 datalen,它會(huì)通過并返回到 try 塊并繼續(xù)到下一行。但這并沒有發(fā)生。相反,它會(huì)跳出函數(shù)并在函數(shù)調(diào)用者的下一行中繼續(xù)。如何讓它繼續(xù)循環(huán),直到到達(dá)循環(huán)末尾,然后返回字典以及錯(cuò)誤消息?或者這不能通過 try catch 異常處理程序來完成嗎?
查看完整描述

2 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

除非你想捕獲除 的情況以外的異常,否則line.isspace我根本不會(huì)使用塊。try只需將您的錯(cuò)誤收集在列表中,例如:


errors = []

for line in data:

    itrcntr += 1

    if line.isspace():

        errors.append('File has badly formatted header data at line %d.' % itrcntr)


# then at the end:

if errors:

    # do something about it...


查看完整回答
反對(duì) 回復(fù) 2024-01-15
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果發(fā)生任何異常,try 子句將被跳過,而 except 子句將運(yùn)行。

如果您在 Try 中的任何位置引發(fā)異常,則其他所有內(nèi)容都將被跳過。因此,如果您希望循環(huán)繼續(xù),那么就不要使用 Try except。

只需收集所有錯(cuò)誤消息然后將其返回即可。


查看完整回答
反對(duì) 回復(fù) 2024-01-15
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)