SystemStackError в обработке исключений Ruby с использованием Aquarium (аспектно-ориентированное программирование)

Я пытаюсь обрабатывать исключения, используя АОП в Ruby. Инструментарий, который я здесь использовал, называется Aquarium (http://aquarium.rubyforge.org/).

Я написал пример кода, который попытается отобразить всех записанных потомков (подклассов) класса ApplicationController.

При выполнении следующей программы я получаю SystemStackError (я также пытался установить лимит стека с помощью «ulimit -s»). Кто-нибудь, пожалуйста, помогите мне с этим! Или любые предложения по отображению: all_methods подклассов суперкласса приветствуются. Заранее спасибо.

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
6
задан Aravindan.ck 27 March 2012 в 11:42
поделиться