SyntaxError
que se dispara cuando tienes un error de sintaxis en el código o NoMethodError
cuando intentas invocar un método que no existe.raise
:ArgumentError
se utiliza cuando existe un error en un argumento de un método. Otra más común es RuntimeError
:StandardError
, estás capturando cualquier excepción debajo en la jerarquía como ArgumentError
, IOError
, etc.Exception
, es una mala práctica.rescue
realmente estás capturando StandardError
(y por lo tanto, cualquier excepción que esté debajo en la jerarquía).StandardError
: