Error de inicio de rescate sin captura

Estoy usando un código rubí envuelto en un bloque de inicio y rescate, pero de alguna manera se las arregla para bloquearse.

el bloque de código se ve así:

# Retrieve messages from server
def get_messages
  @connection.select('INBOX')
  @connection.uid_search(['ALL']).each do |uid|
    msg = @connection.uid_fetch(uid,'RFC822').first.attr['RFC822']
    begin
      process_message(msg)
      add_to_processed_folder(uid) if @processed_folder
    rescue
       handle_bogus_message(msg)
    end
    # Mark message as deleted 
    @connection.uid_store(uid, "+FLAGS", [:Seen, :Deleted])
  end
end

Dado este código, supondría que simensaje_proceso oadd_to_processed_folder no pudo ejecutar, entonces el rescate entraría en acción y llamaríahandle_bogus_message. Dicho esto, estoy ejecutando este código en un entorno de producción y, a veces, cuando "recibo" un mensaje de correo electrónico (esto se ejecuta desde una tarea de rastrillo) muere con unError de sintaxis.

Para ver el mensaje de error, echa un vistazohttp://pastie.org/1028479 y no esomensaje_proceso a lo que se refiere es lo mismomensaje_proceso encima. ¿Hay alguna razón por la cualempezar - rescate no atrapará esta excepción?

Respuestas a la pregunta(2)

Su respuesta a la pregunta