Estoy tratando de manejar excepciones usando AOP en Ruby. El kit de herramientas que he usado aquí es Aquarium (http://aquarium.rubyforge.org/).SystemStackError en Ruby Exception Handling using Aquarium (Programación Orientada a Aspectos)
He escrito un código de ejemplo que intentará mapear todos los descendientes (subclases) de la clase ApplicationController anotados.
Al ejecutar el siguiente programa, obtengo un SystemStackError (también intenté establecer el límite de la pila usando "ulimit -s"). ¡Por favor, que alguien me ayude con esto!. O cualquier sugerencia sobre el mapeo: todos los métodos de las subclases de una superclase son bienvenidos. Gracias de antemano.
require 'aquarium'
include Aquarium::Aspects
class ApplicationController
end
class Abc < ApplicationController
def func
puts "func called"
raise Exception.new # SystemStackError is thrown before reaching place
end
end
#Dummy class
class Def < ApplicationController
end
Aspect.new :after_raising => Exception,
:in_types_and_descendents => "ApplicationController" do |jp, object, *args|
puts "Exception Handling Code"
end
a = Abc.new
a.func
No estoy seguro de si este es el problema, sino que debería subir y rescatar StandardError, como excepción puede incluir errores bastante graves. –
¡No, incluso eso no funciona! –
tal vez pueda usar algo como eso http://apidock.com/rails/ActiveSupport/Rescuable/ClassMethods/rescue_from? – Fivell