with try standarderror standard rails error catch begin ruby-on-rails ruby exception

ruby on rails - try - Errores de salida en un rescate(Ruby/Rails)



standarderror ruby (1)

Solo una pregunta rápida. No puedo encontrarlo en la documentación.

Si uso un begin ... rescue estándar, ¿cómo puedo imprimir todos los errores o apilar la traza en el rescate?

p.ej:

begin do x rescue puts errors end

¿Algunas ideas?


Hay al menos dos formas que conozco para obtener el error. El primero es usar una variable global: $! que siempre está configurado para el último error que ocurrió. El segundo es capturando explícitamente el error cuando rescatas:

begin # do something that fails... rescue => error # error and $! are equivalent here end

Cualquiera de los dos le permitirá inspeccionar o imprimir la traza inversa utilizando:

$!.backtrace # => array of backtrace steps error.backtrace # => same error