Ho una funzione Python denominata plot_pdf(f)
che potrebbe generare un errore. Io uso una list comprehension per iterare su una lista di file su questa funzione:Gestione delle eccezioni Python nella comprensione degli elenchi
[plot_pdf(f) for f in file_list]
voglio usare try-tranne blocco per saltare eventuali errori durante l'iterazione del ciclo e continuare con il file successivo. Quindi il seguente codice è il modo corretto per eseguire la gestione delle eccezioni nella comprensione degli elenchi Python?
try:
[plot_pdf(f) for f in file_list] # using list comprehensions
except:
print ("Exception: ", sys.exc_info()[0])
continue
Il codice precedente termina l'iterazione corrente e passa alla successiva iterazione? Se non posso usare la lista di comprensione per catturare gli errori durante l'iterazione, quindi devo usare il normale ciclo for
:
for f in file_list:
try:
plot_pdf(f)
except:
print("Exception: ", sys.exc_info()[0])
continue
Vorrei sapere se posso usare try-except per fare la gestione delle eccezioni nella lista di comprensione.
"Io uso una list comprehension per iterare su una lista di file in questa funzione" * cough * * cough * ** ** COUGHCHOKERETCH –
meno che non sono usando la lista prodotta dalla comprensione della lista, segui il ciclo for. – chepner
Cosa c'è di sbagliato nel ciclo 'for'? –