No puedo decir a partir de la documentación de Python si la función re.compile (x) puede lanzar una excepción (suponiendo que pase una cadena). Imagino que hay algo que podría considerarse una expresión regular inválida. La pregunta más importante es, ¿a dónde voy para encontrar si una llamada dada de la biblioteca Python puede arrojar excepciones y cuáles son?¿Re.compile() o cualquier llamada dada de la biblioteca de Python lanza una excepción?
Respuesta
Bueno, ciertamente puede re.compile
:
>>> import re
>>> re.compile('he(lo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\re.py", line 180, in compile
return _compile(pattern, flags)
File "C:\Python25\lib\re.py", line 233, in _compile
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
The documentation es compatible con esta, de una manera indirecta - comprobar la parte inferior de la página "Contenidos del módulo" para la (breve) de la error
excepción.
Lamentablemente, no tengo ninguna respuesta a la pregunta general. Supongo que la documentación de los distintos módulos varía en calidad y exhaustividad. Si hubiera módulos particulares que le interesaban, podría decompile ellos (si están escritos en Python) o incluso look at the source, si están en la biblioteca estándar.
A diferencia de Java, donde hay excepciones que deben declararse como elevadas (y algunas que no tienen por qué serlo, pero esa es otra historia), cualquier código de Python puede generar cualquier excepción en cualquier momento.
Hay una lista de built-in exceptions, que generalmente tiene alguna descripción de cuándo pueden aparecer estas excepciones. Depende de usted la cantidad de manejo de excepciones que hará, y si manejará las cosas con gracia, o simplemente fallará con un rastreo.
- 1. Python - probar una propiedad lanza excepción
- 2. _CRT_DEBUGGER_HOOK lanza la excepción
- 3. Caso insensible expresión regular Python sin re.compile
- 4. XamlReader.Parse lanza el "carácter no válido en la codificación dada"
- 5. Marshal.GetActiveObject() lanza una excepción MK_E_UNAVAILABLE en C#
- 6. cómo hacer re.compile() con una lista en python
- 7. MySQL Query ejecuta pero lanza una excepción
- 8. Salto cuando se lanza una excepción
- 9. ¿Devuelve un valor Y lanza una excepción?
- 10. SingleOrDefault() lanza una excepción en más de un elemento de
- 11. GWT: amarre lanza excepción NullPointer la depuración
- 12. python unittest assertRaises lanza excepción cuando assertRaises falla
- 13. Usando clojure.math.numeric-tower, o cualquier biblioteca
- 14. Lanza o prueba + captura
- 15. Hoja de trabajo get_Range lanza excepción
- 16. ¿Lanza una excepción en una UDF de cerdo EvalFunc salte solo esa línea, o pare completamente?
- 17. creación std :: hilo lanza excepción
- 18. Mi aplicación con frecuencia lanza excepción android.view.WindowLeaked -
- 19. Control de flujo de Ruby: ¿lanza una excepción, devuelve nil o deja que falle?
- 20. XmlWriter.WriteCData lanza una excepción ArgumentException - carácter no válido
- 21. ¿Cuándo lanza Thread.sleep de Java la excepción InterruptedException?
- 22. Dada una instancia de cualquier tipo de clase, ¿cómo saber qué clase principal y/o rasgos hereda o implementa?
- 23. ¿DataAdapter.Fill() cierra su conexión cuando se lanza una excepción?
- 24. ¿Cómo puedo encontrar una lista de todas las excepciones que arroja una función de biblioteca dada en Python?
- 25. ¿Qué sucede si se lanza una excepción durante finalize()
- 26. ejemplo MethodHandle lanza WrongMethodTypeException en invokeExact llamada
- 27. ¿Cómo funciona RAII cuando un constructor lanza una excepción?
- 28. ¿Hay una llamada de biblioteca a addr2line?
- 29. ¿Biblioteca de Git para Ruby o Python?
- 30. Android 2.3.3 llamada AsyncTask lanza NoSuchFieldError