Ich habe Probleme beim Abfangen von Ausnahmen und Fehlern beim Aufruf Proc object
. Sehen Sie meinen Code:Ruby - Proc.call - Abfangen von Ausnahmen
def method1
.. do something ...
end
def method2
.. do something ...
end
def run_method_safely(proc_obj)
begin
proc_obj.call
rescue => e
puts "Error man!"
... do something ...
end
end
Ich habe einige Methoden (hier habe ich nur method1, method2
aber in Code ich habe viel mehr Methoden), die durch Verfahren run_method_safely
ausgeführt werden. Ich mache das so, weil ich nicht jede Methode im Start-Rescue-Block haben will, also habe ich eine Methode geschrieben, die sich darum kümmert. Siehe:
.
run_method_safely(Proc.new { method1 })
run_method_safely(Proc.new { method2 })
.
Das Problem ist, wenn proc_obj.call
mit Fehlern ausgeführt wird (Methode fehlt, WebDriver - kein solches Element gefunden oder was auch immer) Rettungs Block nicht ausgeführt wird, Programm wie nichts läuft passiert.
Kann jemand Fehler und Ausnahmen von Proc-Code abfangen?
Können Sie eine ausführbare Probe erstellen, die das reproduziert? –