Repository 32bit  Forum
Repository 64bit  Wiki

Python: eccezioni.

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Python: eccezioni.

Messaggioda rik70 » mar giu 03, 2014 14:13

Ciao di nuovo a tutti, come butta?

Sto provando a scrivere un programma in python - per la precisione un plugin per XBMC - e volevo chiedervi un consiglio.

In pratica vorrei fare in modo che il programma ad un certo punto s'interrompa se si verifica una data eccezione. Qual'è il modo migliore per farlo? Io mi stavo buttando sulla funzione sys.exit()

Es:
Codice: Seleziona tutto
import sys
import urllib
import urllib2

try:
    link = 'http://indirizzo_web_inesistente/'
    req = urllib2.Request(link)
    req.add_header('User-agent', 'Mozilla/5.0')
    response = urllib2.urlopen(req)
    url = response.read()
    response.close()
except:
    print "Errore, bla bla bla"
    sys.exit(0)

# altro codice


Son sicuro che è sbagliato, giusto?


Grazie in anticipo.

Ciao

P.s.
Tenete presente che parlate con un totale neofita.
rik70
Linux 3.x
Linux 3.x
 
Messaggi: 1322
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.1
Kernel: generic-smp
Desktop: Xfce

Re: Python: eccezioni.

Messaggioda lablinux » mer giu 04, 2014 14:59

cosi ad occhio e croce va bene per uno script bash, magari eviterei di restituire 0, che indica al sistema tutto ok.
Ma non so come funzionanao gli plugin per xbmc, ti conviene chiedere in un forum specializzato in xbmc o trovare qualche plugin per fare copia&incolla
Avatar utente
lablinux
Linux 2.6
Linux 2.6
 
Messaggi: 778
Iscritto il: gio nov 27, 2008 12:23
Località: Rho
Slackware: 14 64bit
Desktop: kde4

Re: Python: eccezioni.

Messaggioda rik70 » mer giu 04, 2014 16:18

lablinux ha scritto:cosi ad occhio e croce va bene per uno script bash

Avevo lo stesso dubbio e hai colto nel segno.

Ho verificato infatti che anggiungendo 'print url' al codice - subito dopo il commento finale - ed eseguendolo sull'interprete python, restituisce l'errore:
`NameError: name 'url' is not defined`.

Invece incollandolo su un file 'test.py' e lanciandolo da shell con `python test.py`, 'esce' senza errori con questo output:
`Errore, bla bla bla`.

Su XBMC invece pare funzionare, o meglio: non viene notificato il popup dell'errore dello script, anche se il log di xbmc riporta:
Codice: Seleziona tutto
-->Python Interpreter Initialized<--
17:03:41 T:3034634032   ERROR: GetDirectory - Error getting plugin://plugin.video.test/
17:03:41 T:3034634032   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.test/) failed


Vabbè, proverò a sbirciare il codice altrui, anche perché mi sa che è così che s'impara, giusto? :)

Graze, ciao.
rik70
Linux 3.x
Linux 3.x
 
Messaggi: 1322
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.1
Kernel: generic-smp
Desktop: Xfce


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron