# File lib/puppet/parser/ast.rb, line 68 68: def safeevaluate(*options) 69: # We duplicate code here, rather than using exceptwrap, because this 70: # is called so many times during parsing. 71: begin 72: return self.evaluate(*options) 73: rescue Puppet::Error => detail 74: raise adderrorcontext(detail) 75: rescue => detail 76: error = Puppet::Error.new(detail.to_s) 77: # We can't use self.fail here because it always expects strings, 78: # not exceptions. 79: raise adderrorcontext(error, detail) 80: end 81: end