Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Timothy Villaraza
394 PuntosCasi parece que SIEMPRE deberíamos usar la función "try" mientras escribimos código solo para poder manejar errores.
Espero poder explicar mi pregunta con la suficiente claridad,
Como sugiere el título, mi impresión de la función "try" es que deberíamos COMENZAR SIEMPRE nuestro código con ella (por supuesto, teniendo en cuenta el estilo). Casi como si pudiera usarse como una solución alternativa para muchos de nuestros errores en lugar de reescribir nuestras líneas de código para arreglarlaslas.
¿Es siquiera una buena práctica usarlas? No tengo idea de qué tan regularmente deberíamos usarlas y si hay situaciones en las que no deberían molestarse en absoluto.
Mi conocimiento en Python o cualquier otro lenguaje se limita a este punto de la pista, ¡así que intenta mantenerlo en términos simples si es posible!
4 respuestas
Richard Li
9,751 PuntosEn realidad, en mi comprensión, muchas de las funciones y métodos integrados ya tienen traceback y try para que los uses. Por eso te están dando la retroalimentación de error sobre qué está mal.
Principalmente uso Try_Except para manejar cualquier entrada del usuario y darles retroalimentación.
NUNCA CONFÍES EN LA ENTRADA DE NINGÚN USUARIO
Jasper Peijer
45,009 PuntosComo dijo Richard, nunca confíes en la entrada del usuario. Las personas intentarán hacer que la aplicación se bloquee de cualquier manera. La mayoría del otro código sería mejor no tener un try except porque TÚ eres quien usa ese código y sería mejor saber qué salió mal cuando cometes un error. Una vez que tu código esté libre de errores, no se necesita try except excepto, por supuesto, donde hay entrada del usuario.
akoniti
1,410 PuntosCreo que también depende de la entrada específica que esperes. Por ejemplo, he estado escribiendo un rastreador de mazmorras basado en texto, y el usuario elige por qué puerta atravesar a continuación ingresando el color. Dado que hay un número muy limitado de entradas que tienen sentido, lo manejo así definiendo esas explícitamente. Aquí está la función para la Sala 5 en la mazmorra:
def room5func():
player_visited [4] = 1
global last_room
global inventario
last_room = 5
print ("\n[Estás en la Sala 5]\nVes una puerta azul y una puerta púrpura.\n")
direction = input("¿Qué te gustaría hacer?\n")
if 'blue' en direction o 'Blue' en direction o 'BLUE' en direction:
room2func()
elif 'púrpura' en direction o 'Purple' en direction o 'PURPLE' en direction:
room6func()
elif ('map' en direction o 'Map' en direction o 'MAP' en direction) y inventario[0] == 1:
map_func()
else:
print("Por favor intenta de nuevo\n")
room5func()
Estoy seguro de que pronto aprenderé formas más eficientes de hacer prácticamente todo lo anterior, soy muy nuevo en la programación, pero este ejemplo muestra que no siempre son errores específicos de Python los que pueden ser un problema, también podría ser que el usuario ingrese algo que simplemente está fuera de contexto para la solicitud de entrada.
Tilak Muruduru Divakar
6,459 PuntosPuedes usar esto para comparar cadenas ignorando mayúsculas y minúsculas.
.lower() lanzará un AttributeError si direction tiene un objeto NoneType.
akoniti
1,410 Puntos¡Gracias Tilak! El método .lower es súper útil en el contexto de ignorar mayúsculas y minúsculas en la entrada del usuario!
Tilak Muruduru Divakar
6,459 PuntosTilak Muruduru Divakar
6,459 PuntosTambién podemos usarlo si queremos capturar el error de traceback que lanza una función integrada e imprimir un mensaje significativo al usuario.