Cuando genero un hilo con Thread.new {} parece que cualquier excepción que ocurra en ese hilo nunca ve la luz, y la aplicación simplemente lo ignora¿Cómo obtengo Ruby para generar una excepción dentro de un hilo?
7
A
Respuesta
3
Normalmente, los hilos están aislados el uno del otro, así que la excepción en uno no terminará toda la aplicación.
Pero, aunque nunca los utilicé, la clase Thread
tiene varios métodos abort_on_exception
, incluso con algunos ejemplos. Deben hacer lo que quieras.
http://corelib.rubyonrails.org/classes/Thread.html
3
Agregando a la respuesta de Nikita, también puede desencadenar la excepción llamando thread.join
en el hilo que haya generado.
Si ejecuta el programa con el indicador de depuración en (ruby -d
), también abortará cuando se produzca una excepción no controlada en un hilo.
Cuestiones relacionadas
- 1. Cómo lanzar una excepción marcada de un hilo de Java?
- 2. ¿Cómo cerrar un hilo desde dentro?
- 3. ¿Puedo generar un hilo de un servlet?
- 4. Cómo generar hilo en C#
- 5. ¿Cómo atrapar una excepción en el hilo principal si la excepción ocurre en el hilo secundario?
- 6. ¿Cómo generar una excepción ActiveRecord :: Rollback y devolver un valor?
- 7. ¿Cómo depurar la excepción en otro hilo?
- 8. ¿Cómo obtengo Ruby 'puts' para escribir datos en un archivo?
- 9. ruby - excepción de re-raise con la sub-excepción
- 10. ¿Puedo ejecutar un hilo dentro de un hilo en java?
- 11. ¿Cómo generar una fecha aleatoria en Ruby?
- 12. impulso :: hilo dentro de una clase
- 13. lanzar una excepción en el hilo C#
- 14. Método de declaración para generar una excepción y una subclase de esta excepción
- 15. STA Abort hilo Excepción
- 16. ¿Cómo puedo devolver un valor de un hilo en Ruby?
- 17. Cómo coger una excepción dentro runResourceT
- 18. ¿Cómo puedo generar variables de entorno para un shell de comandos en un script de Ruby?
- 19. ¿Cómo obtengo el nombre de una clase de Ruby?
- 20. Deteniendo un servicio de Android dentro de un hilo
- 21. ¿Qué sucede cuando un hilo arroja una excepción?
- 22. Cómo pasar una excepción explícitamente al hilo principal en C#
- 23. ¿Cómo obtengo el contenido de una solicitud http en Ruby?
- 24. ¿Cómo evitar que una excepción en un hilo de fondo termine una aplicación?
- 25. ¿Cómo obtengo un intérprete de esquema trabajando dentro de Emacs?
- 26. ¿Cómo obtengo la Url actual desde dentro de un FilterAttribute?
- 27. ¿Cómo puedo generar un calendario de torneos en Ruby?
- 28. Cómo pasar la excepción de un hilo a otro (el que llama) el hilo en Delphi?
- 29. Cómo detener .Net HttpWebRequest.GetResponse() al generar una excepción
- 30. Captura de excepción no controlada de un hilo
¡Impresionante! ¡Gracias! –