Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ruby Diary #14: Gestione delle eccezioni in Ruby

Caratteristiche fondamentali della gestione delle eccezioni in Ruby, panoramica del comando retry.
Caratteristiche fondamentali della gestione delle eccezioni in Ruby, panoramica del comando retry.
Link copiato negli appunti

Ruby offre una gestione delle eccezioni né più né meno come altri linguaggi.
Nella sua classicità , tuttavia, integra una caratteristica molto singolare che non ricordo in altri linguaggi: il comando retry.

Comincio dicendo che la migliore spiegazione sulla gestione delle eccezioni fino ad oggi l'ho letta sul libro Programming in Ruby.
Potete trovare una trascrizione del capitolo a questo indirizzo.

Il comando retry consente di ripetere il codice contenuto tra begin/rescue che ha generato l'eccezione. La sua utilità ? Osservate questo codice.

@esmtp = true
begin
  # First try an extended login. If it fails because the
  # server doesn't support it, fall back to a normal login
  if @esmtp then
    @command.ehlo(helodom)
  else
    @command.helo(helodom)
  end
rescue ProtocolError
  if @esmtp then
    @esmtp = false
    retry
  else
    raise
  end
end

Si tenta di inviare un'email utilizzando il sistema di login esteso. Se il comando non va a buon fine, si cambia la proprietà  di invio e si ripete l'invio. Se anche in questo caso la richiesta fallisce probabilmente il problema è altrove e si rilancia l'eccezione ad un livello superiore.

Ottima idea, a mio avviso. Voi che dite? Sapete di altri linguaggi che la implementano?

Ti consigliamo anche