2015-07-10 21:27 GMT+02:00 Carlos Catucci <carlos.catu...@gmail.com>:
> > 2015-07-10 20:21 GMT+02:00 Davide Muzzarelli <d.muzzare...@dav-muz.net>: > >> In questo esempio, il file verrebbe chiuso correttamente anche nel caso >> in cui f.Write() restituisse un errore: >> >> f, _ := os.Open("nome del file") >> defer f.Close() >> n, err := f.Write("foobar") >> if err != nil { >> return "Errore, spazio su disco esaurito" >> } >> > > Scusa solo per capire, dov'e' la differenza con try except? > Che try/except aggiungono un ulteriore livello di nidificazione che rende la lettura del codice meno lineare. Ad esempio: try: makedirs(path) except OSError, err if err.errno == errno.EEXISTS: return raise Il maggiore problema con le eccezione è semplicemente che tu *non puoi sapere* se e quale eccezione può lanciare una funzione. In C++ e Java ci hanno provato [1], ma non funziona. In Go lo sai semplicemente vedendo cosa restituisce la funzione. > [...] [1] https://en.wikipedia.org/wiki/Exception_handling#Checked_exceptions Ciao Manlio
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python