Sha256: 2fdc42d53109c07e1bb807d1f0f38e2d88b826fc945d6d2ebef102ea8860a73e

Contents?: true

Size: 1.21 KB

Versions: 16

Compression:

Stored size: 1.21 KB

Contents

module Puppet # :nodoc:
    # The base class for all Puppet errors.  We want to make it easy to add
    # line and file information.  This probably isn't necessary for all
    # errors, but...
    class Error < RuntimeError
        attr_accessor :line, :file

        def backtrace
            if defined? @backtrace
                return @backtrace
            else
                return super
            end
        end

        def initialize(message, line = nil, file = nil)
            @message = message

            @line = line if line
            @file = file if file
        end

        def to_s
            str = nil
            if self.file and self.line
                str = "%s at %s:%s" %
                    [@message.to_s, @file, @line]
            elsif self.line
                str = "%s at line %s" %
                    [@message.to_s, @line]
            elsif self.file
                str = "%s in %s" % [@message.to_s, self.file]
            else
                str = @message.to_s
            end

            return str
        end
    end

    # An error class for when I don't know what happened.  Automatically
    # prints a stack trace when in debug mode.
    class DevError < Puppet::Error
    end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
puppet-0.25.5 lib/puppet/error.rb
puppet-0.25.4 lib/puppet/error.rb
puppet-0.25.3 lib/puppet/error.rb
puppet-0.24.9 lib/puppet/error.rb
puppet-0.25.2 lib/puppet/error.rb
puppet-0.25.1 lib/puppet/error.rb
puppet-0.25.0 lib/puppet/error.rb
puppet-0.24.0 lib/puppet/error.rb
puppet-0.24.2 lib/puppet/error.rb
puppet-0.24.4 lib/puppet/error.rb
puppet-0.24.1 lib/puppet/error.rb
puppet-0.24.3 lib/puppet/error.rb
puppet-0.24.7 lib/puppet/error.rb
puppet-0.24.6 lib/puppet/error.rb
puppet-0.24.5 lib/puppet/error.rb
puppet-0.24.8 lib/puppet/error.rb