Tratamiento de excepciones en Ruby Ruby
Publicado: 22 de Feb del 2010Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com
Declaración y captura de excepciones en Ruby
En muchos lenguajes de programación existen excepciones. Las excepciones sirven para controlar varios tipos de errores que pueden suceder durante la execución de un programa. Cuando ocurre el error, con las excepciones se puede capturar para tratarlo en vez de terminar el programa por completo.
En Ruby on Rails, el tratamiento de excepciones se encapsula entre cláusulas begin y end de la siguiente forma:
begin
# codigo...
rescue TIPO_EXCEPCION_1
STDERR.puts "Ha ocurrido un problema de tipo 1"
rescue TIPO_EXCEPCION_2
STDERR.puts "Ha ocurrido un problema de tipo 2"
else
STDERR.puts "Ha ocurrido otro problema"
ensure
# se ejecuta siempre haya o no excepción
end
Tipos de excepciones
A continuación mostramos los tipos de excepciones de Ruby:
-
Exception
- fatal
- NoMemoryError
-
ScriptError
- LoadError
- NotImplementedError
- SyntaxError
-
SignalException
- Interrupt
-
StandardError
- ArgumentError
-
IOError
- EOFError
- IndexError
- LocalJumpError
-
NameError
- NoMethodError
-
RangeError
- FloatDomainError
- RegexpError
- RuntimeError
- SecurityError
-
SystemCallError
- Errorno::__ (ENOENT, etc.) (system-dependent)
- ThreadError
- TypeError
- ZeroDivisionError
- SystemExit
- SystemStackError
Alzar excepciones
Podemos lanzar excepciones propias usando la palabra raise:
def metodo_que_lanza_excepcion raise "error 1" end metodo_que_lanza_excepcion rescue puts $!
El código anterior definimos un método y luego fuera de este método definimos qué pasará cuando se lanze la excepción. En este ejemplo imprimimos con el comando puts el mensaje que se passa por parámetro: "error 1"
Comentarios
Artículos relacionadosVer más
- Cómo instalar Ruby on Rails en Windows
- Modelo Vista Controlador
- ¿Qué es Ruby on Rails?
- Introducción a Ruby
- Ruby: Programación orientada a objetos
- Tratamiento de excepciones en Ruby
- Paginación en Ruby on Rails
- Urls amigables en Ruby on Rails
- Usando la consola de Ruby on Rails
- Instalar GIT, RVM, Ruby, Ruby on Rails y Passenger