# 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