Sto cercando di gestire le eccezioni utilizzando AOP in Ruby. Il toolkit che ho usato qui è Aquarium (http://aquarium.rubyforge.org/).SystemStackError in Ruby Exception Handling utilizzando Aquarium (programmazione orientata agli aspetti)
Ho scritto un codice di esempio che proverà a mappare tutti i discendenti (sottoclassi) della classe ApplicationController annotati.
Durante l'esecuzione del seguente programma, ottengo un SystemStackError (ho anche provato a impostare il limite dello stack usando "ulimit -s"). Qualcuno, per favore aiutami con questo! O qualsiasi suggerimento sulla mappatura: tutti i metodi di sottoclassi di una superclasse sono i benvenuti .. Grazie in anticipo.
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
Non sono sicuro se questo è il problema, ma si dovrebbe sollevare e salvare StandardError, come Eccezione può includere abbastanza gravi errori. –
No, anche quello non funziona! –
forse puoi usare qualcosa del genere http://apidock.com/rails/ActiveSupport/Rescuable/ClassMethods/rescue_from? – Fivell