# File lib/puppet/parameter.rb, line 376
376:     def fail(*args)
377:         type = nil
378:         if args[0].is_a?(Class)
379:             type = args.shift
380:         else
381:             type = Puppet::Error
382:         end
383: 
384:         error = type.new(args.join(" "))
385: 
386:         if defined? @resource and @resource and @resource.line
387:             error.line = @resource.line
388:         end
389: 
390:         if defined? @resource and @resource and @resource.file
391:             error.file = @resource.file
392:         end
393: 
394:         raise error
395:     end