Foros del Web » Programando para Internet » Python »

¿Se puede usar try...except a secas?

Estas en el tema de ¿Se puede usar try...except a secas? en el foro de Python en Foros del Web. Pues eso... Al final debo recurrir a las excepciones. Mas que nada por si en un input() damos un valor incorrecto. Osea, para que no ...
  #1 (permalink)  
Antiguo 30/06/2014, 12:38
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 14 años, 3 meses
Puntos: 9
¿Se puede usar try...except a secas?

Pues eso...

Al final debo recurrir a las excepciones. Mas que nada por si en un input() damos un valor incorrecto. Osea, para que no se pare programa y tal.

La cosa es, si se puede usar el try...except sin poner nada. Es decir, como muestro es este código que he creado:


Código Python:
Ver original
  1. bandera = True
  2. contador = 0
  3.  
  4. while bandera:
  5.     try:
  6.         numero = int(input('Introduce el numero: '))
  7.     except:
  8.         print('Dato incorrecto')
  9.         continue
  10.      
  11.        
  12.     if numero == 0:
  13.         bandera = False
  14.     else:
  15.         numero = numero ** 2
  16.         print(numero)
  17.         contador += 1
  18. print('Se han calculado',contador,'numeros al cuadrado')

Si el usuario en vez de introducir un valor int lo hace con un valor str o float, las sentencias try...except evitan que el programa se interrumpa ¿No es suficiente así?
  #2 (permalink)  
Antiguo 30/06/2014, 14:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ¿Se puede usar try...except a secas?

Si, si se puede. Lo único que es atrapa cualquier tiempo de excepción. Y usualmente no es lo quieres hacer.

Siempre es mejor especificar las excepciones:
Código Python:
Ver original
  1. try:
  2.         numero = int(input('Introduce el numero: '))
  3.     except ValueError:
  4.         print('Dato incorrecto')
  5.         continue

http://stackoverflow.com/questions/4...-any-exception
http://effbot.org/zone/stupid-except...dinterrupt.htm
https://docs.python.org/2/tutorial/errors.html

Etiquetas: programa, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:27.