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?