gigidn ha scritto:
[...]
EDIT:
sinceramente non capisco a cosa ti riferisci, visto l'orario e la mia mente labile prendila con le molle ma la except non nominale andrebbe evitata (su py3 credo non si possa piu' fare) e non so certo che prenda la IO ... a memoria la except non nominale dovrebbe essere equivalente ad Exception quindi ignorare Errors ... e se IO eredita da quest'ultima non la prende ...
BHU come detto mi sfugge lo scopo di questo test.
Ottimo! Bravo Gigidn!
L'errore principale del codice è la exception anonima che cattura tutti gli errori e non solo il file inesistente.
L'errore è molto grave perché è subdolo.
- Immaginate che questo codice sia in una libreria usata da un software client per leggere informazioni.
- Se il file non esiste il client crea un file di default
- Il sistema funziona correttamente per molto tempo
- Un giorno qualsiasi, il file è locked, il client riceve l'errore e tenta di creare il file di default ma va in crash perchè in realtà il file esiste
Conclusione:
L'utente finale parte dal presupposto che tutto ha funzionano sino a quel giorno, perciò crede che l'errore sia una operazione effettuata di recente. mentre l'errore è presente sin dalla prima installazione.