Ruby | Clase de excepción y sus métodos

Una excepción es un evento no deseado o inesperado que ocurre durante la ejecución de un programa, es decir, en tiempo de ejecución, que interrumpe el flujo normal de las instrucciones del programa. En Ruby, los descendientes de una clase Exception se utilizan para interactuar entre los métodos de elevación y las declaraciones de rescate en los bloques de inicio o finalización. 
Los objetos de excepción contienen información sobre la excepción, como su tipo, una string descriptiva opcional e información opcional. 
Las subclases incorporadas de Ruby Exception son:
 

Métodos de clase de excepción

  1. excepción: este método se utiliza para crear y devolver un nuevo objeto de excepción. 
     
Exception.exception(message)
  1. new : este método crea y devuelve un nuevo objeto de excepción, configurando opcionalmente mensaje a mensaje. 
     
Exception.new(message)
  1.  

Ruby

# Ruby program to illustrate
# use of new method
 
# creating the customized class
# inherited from StandardError
class MyException < StandardError
  attr_reader :myobject
 
  def initialize(myobject)
    @myobject = myobject
  end
end
 
 
begin
 
# Using new method
# to create an object of
# the given exception
  raise MyException.new("My object"), "This is custome class"
rescue MyException => e
  puts e.message
  puts e.myobject
end
  1. Producción: 
     
This is custome Exception
My object
    1. backtrace: este método devuelve cualquier backtrace relacionado con exc . El backtrace es la array de strings que contiene filename:line:in method o filename:line
       
exc.backtrace
  1. Ejemplo:
     

Ruby

# Ruby program to illustrate
# use of backtrace method
 
# defining method
def a1
 
# raise exception
raise "OOPs! exception raise"
end
 
# defining method
def a2
# calling method a1
a1()
end
 
begin
# calling method a2
a2()
# rescue exception
rescue => a_Details
 
# print the backtrace details
# related with exception
puts a_Details.backtrace.join("\n")
end
  1. Producción: 
     
  
(repl):8:in `a1'
(repl):14:in `a2'
(repl):19:in `<main>'
/run_dir/repl.rb:38:in `eval'
/run_dir/repl.rb:38:in `run'
/run_dir/repl.rb:54:in `handle_eval'
/run_dir/repl.rb:170:in `start'
/run_dir/repl.rb:177:in `start'
/run_dir/repl.rb:181:in `<main>'
/pre>
  1. excepción: sin argumento, o si el argumento es el mismo que el receptor, devuelve el receptor. De lo contrario, cree un nuevo objeto de excepción de la misma clase que el receptor, pero con un mensaje igual a string.to_str
exc.exception(message)
  1. mensaje: este método devuelve un mensaje relacionado con exc .
     
exc.message
  1. set_backtrace: este método establece la información de rastreo inverso relacionada con exc . El argumento de esto debe ser una array de objetos String en el formato que se describe en Exception#backtrace .
     
exc.set_backtrace(array)
  1. to_s: este método devuelve el mensaje relacionado con exc o devuelve el nombre de la excepción si no se ha establecido ningún mensaje. 
     
exc.to_s
  1. Ejemplo:
     

Ruby

# Ruby program to illustrate
# use of to_s method
 
begin
 
# raise exception
raise "Ruby Exception"
 
# rescue exception
rescue Exception => a
 
# print message
puts a.to_s
end
  1. Producción: 
     
Ruby Exception
  1. inspeccionar: este método devuelve el nombre y el mensaje de la clase de excepción. 
     
exc.inspect
  1. causa: este método devuelve la excepción anterior en el momento en que exc aumenta.
  2. ==: este método devuelve verdadero si el objeto y exc comparten la misma clase, mensaje y seguimiento. De lo contrario, devuelve falso.
     
exc==obj

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *