2016-06-21 13 views
1

Gibt es eine Möglichkeit, Zugriff auf eine Fehlermeldung in einem Rescue-Block als Zeichenfolge zu erhalten? Zum Beispiel:Zugreifen auf Fehlermeldungen in einem Rescue-Block

def foo 
    raise RuntimeError, "This is an error" 
end 

def bar 
    begin 
    foo 
    rescue RuntimeError 
    puts "Rescued" 
    end 
end 

bar 

Gibt es eine Möglichkeit, den Zugang zu "This is an error" von mit-im Rettungsblock zu gewinnen? Etwas wie folgt aus:

... 
rescue RuntimeError 
    puts <error-message> 
end 
... 

Antwort

3

Sie benötigen eine Variable angeben, um den Fehler zu speichern, in

def foo 
    raise RuntimeError, "This is an error" 
end 

def bar 
    begin 
    foo 
    rescue RuntimeError => ex 
    puts "Rescued #{ex.message}" 
    end 
end 
+0

Sie auch die '$ verwenden können' global innerhalb einer Rettungs Block die Ausnahme-Objekt zu erhalten!. – zetetic

Verwandte Themen