除了具有相同错误的多个异常不起作用(或im错误):Python

2024-06-28 19:18:01 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我有这个代码,如果try块不起作用,它会在except块上运行(显然),但是 它只在第一个块上运行,如下所示:

                    try:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".jpg"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                    except ApiException as e0:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".png"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e0)
                    except ApiException as e1:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".jpeg"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e1)
                    except ApiException as e2:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".raw"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e2)
                    except ApiException as e3:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".psd"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e3)
                    except ApiException as e4:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".tiff"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e4)
                    except ApiException as e5:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".pdf"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e5)
                    except ApiException as e6:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".eps"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e6)
                    except ApiException as e7:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".bmp"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e7)
                    except ApiException as e8:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".ai"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e8)
                    except ApiException as e9:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".gif"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e9)
                    except ApiException as e10:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".pict"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e10)
                    except ApiException as e11:
                        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+".svg"
                        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
                        bot.register_next_step_handler(nhlim, nhen_sender)
                        print(e11)

如果第一个except不起作用,则不考虑另一个except,但python也不会给出错误,有什么帮助吗


Tags: httpsnettitlebotcodecoverresultexcept
2条回答

如果所有这些异常都是为了捕获单个try块(在try和第一个except块之间)中的问题,那么您应该捕获每个块中不同的异常。否则,只有第一个才重要

另一方面,如果您试图在异常处理程序中捕获异常(等异常处理树下),则需要嵌套它们,例如:

try:
    doSomething()
except ApiException as e0:
    try:
        doSomethingElse()
    except ApiException as e1:
        try:
            doAThirdThing()
        except ApiException as e2:
            andSoOn()

可以使用for-loop来简化代码

list = ['jpg', 'png', ...]

for item in list:

    try:
        
        cover="https://t.nhentai.net/galleries/"+str(medid)+'/cover'+ '.' + item
        nhlim=bot.send_photo(chatId,cover,caption='Nhentai id: <code>'+str(pornId)+'</code>\nGenres: <code>'+str(genres)+'</code>\nPages number: <code>'+str(jhen['result'][choosedNum]['num_pages'])+'</code>\nEnglish title: <code>'+str(jhen['result'][choosedNum]['title']['english'])+'</code>\nJapanese title: <code>'+str(jhen['result'][choosedNum]['title']['japanese'])+'</code>\nPretty (Short) title: <code>'+str(jhen['result'][choosedNum]['title']['pretty'])+'</code>',parse_mode='HTML')
        bot.register_next_step_handler(nhlim, nhen_sender)
        break

    except ApiException as err:
    
        errorHandling
        continue

相关问题 更多 >