¡Bienvenido al cuestionario MCQ sobre manejo de errores de Python! El manejo de errores es un aspecto esencial de la programación y Python proporciona mecanismos poderosos para administrar excepciones y errores que pueden ocurrir durante la ejecución del programa. Este cuestionario tiene como objetivo evaluar su comprensión de varios conceptos relacionados con el manejo de errores en Python, incluido try
y except
bloques, generando y capturando excepciones, usando finally
bloques y más. Cada pregunta es de opción múltiple, con una sola respuesta correcta. Tómate tu tiempo para leer atentamente cada pregunta y elegir la mejor opción. ¡Comencemos y exploremos juntos el manejo de errores de Python!
P1. ¿Cuál es el propósito del bloque try en el manejo de errores de Python?
a) Definir el bloque de código donde puede ocurrir una excepción.
b) Para detectar y manejar excepciones que ocurren dentro del bloque.
c) Para garantizar que el código se ejecute sin errores.
d) Terminar el programa si ocurre una excepción.
Respuesta: a
Explicación: El bloque try define un bloque de código en el que pueden ocurrir excepciones.
P2. ¿Qué palabra clave se utiliza para detectar excepciones en Python?
un intento
b) atrapar
c) excepto
d) manejar
Respuesta: C
Explicación: La palabra clave except se utiliza para detectar y manejar excepciones en Python.
P3. ¿Qué surge cuando un programa Python encuentra un error durante la ejecución?
a) error
b) Excepción
c) Fallo
d) Error
Respuesta: b
Explicación: En Python, los errores durante la ejecución se representan como excepciones.
P4. ¿Cuál de las siguientes NO es una excepción estándar de Python?
a) Error de clave
b) ValorExcepción
c) Error de índice
d) Error de tipo
Respuesta: b
Explicación: ValueException no es una excepción estándar de Python. Debería ser ValueError.
P5. ¿Cómo se pueden manejar múltiples excepciones en un solo bloque excepto?
a) Separar las excepciones mediante comas.
b) Usar bloques anidados excepto
c) Utilice la palabra clave except solo una vez
d) No es posible manejar múltiples excepciones en un solo bloque excepto
Respuesta: a
Explicación: Puede separar varias excepciones utilizando comas en un único bloque excepto.
P6. ¿Qué palabra clave de Python se utiliza para generar una excepción manualmente?
a) tirar
b) elevar
c) excepción
d) desencadenante
Respuesta: b
Explicación: La palabra clave rise se utiliza para generar excepciones manualmente en Python.
P7. ¿Qué garantiza el bloqueo final en el manejo de errores de Python?
a) Garantiza que el código que contiene siempre se ejecutará, independientemente de si se produce una excepción o no.
b) Garantiza que el programa terminará si ocurre una excepción.
c) Garantiza que el programa omitirá la ejecución del código si se produce una excepción.
d) Garantiza que solo se ejecutará el código dentro del bloque finalmente si se produce una excepción.
Respuesta: a
Explicación: El bloque finalmente garantiza que el código que contiene siempre se ejecutará, independientemente de si se produce una excepción o no.
P8. ¿Cuál de las siguientes afirmaciones es cierta sobre el bloque else en el manejo de errores de Python?
a) Se ejecuta si ocurre una excepción.
b) Se ejecuta si no ocurre ninguna excepción en el bloque try.
c) Maneja las excepciones que ocurren en el bloque try.
d) Se ejecuta en lugar del bloque finalmente.
Respuesta: b
Explicación: Python ejecuta el bloque else si no ocurre ninguna excepción en el bloque try.
P9. ¿Cuál es el propósito de la declaración de afirmación en Python?
a) Para manejar excepciones
b) Dar por finalizado el programa
c) Para comprobar si una condición es verdadera
d) Plantear una excepción
Respuesta: C
Explicación: La declaración de afirmación verifica si una condición es verdadera en Python. Si la condición es falsa, genera un AssertionError.
P10.¿Cuál de los siguientes métodos NO es un método comúnmente utilizado de la clase Exception en Python?
a) __cadena__()
b) __inicio__()
c) __causa__()
d) __repr__()
Respuesta: C
Explicación: __cause__() no es un método de la clase Exception. Se utiliza para obtener la causa de la excepción.
P11. ¿Cuál de las siguientes afirmaciones es cierta sobre la cláusula except en Python?
a) Es obligatorio en un bloque try-except.
b) Detecta todas las excepciones de forma predeterminada.
c) Debe colocarse antes del bloque try.
d) Puede especificar el tipo de excepciones a detectar.
Respuesta: d
Explicación: La cláusula except puede especificar el tipo de excepciones a capturar.
P12. ¿Cuál es la salida del siguiente código?
try:
x = 10 / 0
except ZeroDivisionError:
print("Division by zero")
finally:
print("Finally block")
a) División por cero
Finalmente bloquear
b) Finalmente bloquear
c) División por cero
d) Error de división cero
Respuesta: a
Explicación: El código generará un ZeroDivisionError, lo detectará, imprimirá “División por cero” y luego ejecutará el bloque final que imprime “Finalmente bloquear”.
P13. ¿Cuál de las siguientes palabras clave se utiliza para manejar el bloque de excepción en Python?
una mano
b) rescate
c) excepto
d) atrapar
Respuesta: C
Explicación: excepto se utiliza para manejar bloques de excepción en Python.
P14. ¿Qué hace el siguiente código Python?
try:
# Some code that may raise an exception
except:
pass
a) Plantea una excepción.
b) Capta todas las excepciones y las ignora.
c) Da por finalizado el programa.
d) Maneja las excepciones con elegancia.
Respuesta: b
Explicación: Este código detecta todas las excepciones y las ignora debido a la declaración de paso.
P15. ¿Qué sucede si ocurre una excepción en el bloque finalmente?
a) La excepción es capturada por el bloque excepto.
b) El programa termina.
c) La excepción se propaga hacia la pila de llamadas.
d) Se ignora la excepción.
Respuesta: C
Explicación: Si se produce una excepción en el bloque finalmente, se propaga hacia la pila de llamadas.
P16. ¿Cuál de las siguientes NO es una excepción integrada común en Python?
a) Error de clave
b) Error de archivo no encontrado
c) Error de índice
d) Error de sintaxis
Respuesta: d
Explicación: SyntaxError es un error de sintaxis común, pero no es una clase de excepción incorporada.
P17. ¿Cuál es el propósito de la función sys.exc_info() en Python?
a) Plantea una excepción.
b) Devuelve información sobre la excepción actual que se está manejando.
c) Da por finalizado el programa.
d) Imprime el rastreo de la excepción.
Respuesta: b
Explicación: sys.exc_info() devuelve una tupla de información sobre la excepción actual que se maneja en Python.
P18. ¿Qué palabra clave se utiliza para volver a generar la última excepción detectada en Python?
a) volver a lanzar
b) volver a lanzar_el último
c) subir_último
d) elevar
Respuesta: d
Explicación: En Python, los desarrolladores usan la palabra clave rise para volver a generar la última excepción detectada.
P19. ¿Cuál es la salida del siguiente código?
try:
raise Exception("An error occurred")
except Exception as e:
print(e)
finally:
print("Finally block")
a) Se produjo un error
Finalmente bloquear
b) Finalmente bloquear
c) Se produjo un error
d) Excepción
Respuesta: a
Explicación: El código genera una excepción, la detecta, imprime el mensaje de error y luego ejecuta el bloque finalmente.
P20. ¿Qué afirmación es cierta sobre el manejo de excepciones en Python?
a) Un controlador de excepciones puede detectar excepciones generadas por funciones que llama.
b) Un controlador de excepciones no puede detectar excepciones generadas por funciones que llama.
c) Un controlador de excepciones solo detecta excepciones generadas en el mismo bloque.
d) Un controlador de excepciones solo puede detectar excepciones del mismo tipo.
Respuesta: a
Explicación: Un controlador de excepciones puede detectar excepciones generadas por las funciones que llama.
P21. ¿Cuál es el propósito del módulo de rastreo en Python?
a) Permite personalizar los mensajes de error.
b) Imprime información detallada sobre excepciones.
c) Maneja excepciones en aplicaciones multiproceso.
d) Plantea excepciones basadas en condiciones definidas por el usuario.
Respuesta: b
Explicación: El módulo de rastreo proporciona funciones para imprimir información detallada sobre excepciones.
P22. ¿Cuál de las siguientes afirmaciones es cierta sobre la afirmación de afirmación en Python?
a) Se utiliza para manejar excepciones.
b) Termina el programa si una condición es verdadera.
c) Plantea una excepción si una condición es falsa.
d) Es similar al bloque try-except.
Respuesta: C
Explicación: La declaración de afirmación genera un AssertionError si una condición es falsa.
P23. ¿Cómo se puede crear una clase de excepción personalizada en Python?
a) Heredando de la clase Excepción
b) Usando la palabra clave throw
c) Utilizando la palabra clave custom_exception
d) Definiendo una función con el nombre de la excepción
Respuesta: a
Explicación: Puede crear una clase de excepción personalizada heredando de la clase Exception.
P24. ¿Qué hace la función sys.exit() en Python?
a) Plantea una excepción
b) Termina el programa
c) Imprime un mensaje a la consola
d) Maneja excepciones
Respuesta: b
Explicación: sys.exit() finaliza el programa.
P25. ¿Cuál de las siguientes afirmaciones es cierta sobre el bloque else en el manejo de errores de Python?
a) Se ejecuta si ocurre una excepción.
b) Maneja las excepciones que ocurren en el bloque try.
c) Se ejecuta sólo si ocurre una excepción.
d) Se ejecuta si no ocurre ninguna excepción en el bloque try.
Respuesta: d
Explicación: Si no se produce ninguna excepción en el bloque try, Python ejecuta el bloque else.
P26. ¿Cuál es el propósito de la declaración de aumento en Python?
a) Para detectar excepciones
b) Ignorar las excepciones
c) Volver a plantear excepciones
d) Dar por finalizado el programa
Respuesta: C
Explicación: En Python, los desarrolladores utilizan la declaración de aumento para volver a generar excepciones.
P27. ¿Cuál de las siguientes NO es una excepción estándar de Python?
a) Error de sintaxis
b) Error de división cero
c) Error de desbordamiento
d) Error de tiempo de ejecución
Respuesta: C
Explicación: OverflowError es una excepción estándar de Python, pero no es tan común como las demás enumeradas.
P28. ¿Cuál es el propósito del bloque try-except-else en Python?
a) Para detectar excepciones y ejecutar código alternativo.
b) Ejecutar código que siempre debería ejecutarse
c) Manejar excepciones y ejecutar código si no ocurre ninguna excepción.
d) Terminar el programa si ocurre una excepción.
Respuesta: C
Explicación: En Python, los desarrolladores usan el bloque try-except-else para manejar excepciones y ejecutar código si no ocurre ninguna excepción.
P29. ¿Qué palabra clave se utiliza para definir una clase de excepción personalizada en Python?
una captura
b) elevar
c) clase
d) excepción
Respuesta: C
Explicación: En Python, los desarrolladores usan la palabra clave class para definir clases de excepción personalizadas.
P30. ¿Cuál es el propósito del bloque finalmente en el manejo de errores de Python?
a) Para manejar excepciones
b) Plantear excepciones
c) Para garantizar que siempre se ejecutará cierto código
d) Dar por finalizado el programa
Respuesta: C
Explicación: El bloque finalmente garantiza que cierto código se ejecute, independientemente de si se produce una excepción.
P31. ¿Cuál de las siguientes excepciones se produce al intentar acceder a un índice en una lista que no existe?
a) Error de valor
b) Error de clave
c) Error de índice
d) Error de tipo
Respuesta: C
Explicación: Intentar acceder a un índice que está fuera de rango en una secuencia como una lista genera un IndexError.
P32. En un bloque try-except, ¿podemos tener varios bloques except?
a) No, solo se permite un bloque excepto
b) Sí, pero sólo si manejan diferentes tipos de excepciones
c) Sí, independientemente del tipo de excepciones que manejen
d) Sí, pero sólo si están anidados uno dentro del otro
Respuesta: b
Explicación: En Python, ordenar varios bloques excepto del más específico al menos específico se considera una buena práctica porque Python los verifica en orden y ejecuta el primer bloque coincidente.
P33. ¿Cuál de las siguientes afirmaciones es verdadera con respecto al orden de los bloques excepto en una construcción try-except?
a) El orden de los bloques excepto no importa
b) Los manejadores de excepciones más específicos deberían ser lo primero
c) Los manejadores de excepciones más generales deberían ser lo primero
d) Python genera un error de sintaxis si los bloques excepto no están en el orden correcto
Respuesta: b
Explicación: En Python, es una buena práctica ordenar varios bloques excepto del más específico al menos específico porque Python los verifica en orden y ejecuta el primer bloque coincidente.
¡Felicitaciones por completar el cuestionario MCQ sobre manejo de errores de Python! Esperamos que este cuestionario le haya ayudado a reforzar su comprensión de los conceptos y técnicas de manejo de errores de Python. Gestionar las excepciones de forma eficaz es crucial para escribir código Python sólido y confiable. Al dominar el manejo de errores, puede asegurarse de que sus programas manejen con gracia situaciones inesperadas y brinden comentarios significativos a los usuarios. Continúe practicando y explorando los mecanismos de manejo de errores de Python para convertirse en un desarrollador competente de Python. Si tienes alguna duda o quieres profundizar en algún tema, no dudes en continuar tu viaje de aprendizaje. ¡Feliz codificación!
También puedes inscribirte en Curso gratuito de Python ¡Hoy!
Lea nuestros más artículos relacionados con MCQ en Python: