Class: Exception

Class | Exception
In: | lib/core/facets/exception/detail.rb lib/core/facets/exception/raised.rb lib/core/facets/exception/suppress.rb
Parent: | Object

### Methods

detail raised? suppress

### Public Class methods

suppress(*exception_classes) {|| ...}

Supress errors while executing a block, with execptions.

CREDIT: David Heinemeier Hansson, Thomas Sawyer

[Source]

    # File lib/core/facets/exception/suppress.rb, line 7
      def self.suppress(*exception_classes)
        exception_classes.each do |e|
          unless e < self
            raise ArgumentError, "exception #{e} not a subclass of #{self}"
          end
        end
        begin yield
        rescue Exception => e
          raise unless exception_classes.any? { |cls| e.kind_of?(cls) }
        end
      end

### Public Instance methods

detail()

Pretty string output of exception/error object useful for helpful debug messages.

Input: The Exception/StandardError object

Output: The pretty printed string

CREDIT: George Moschovitis

[Source]

    # File lib/core/facets/exception/detail.rb, line 14
      def detail
        return %{#{message}\n  #{backtrace.join("\n  ")}\n  LOGGED FROM: #{caller[0]}}
      end

raised?( {|| ...}

Does a block raise an a given `exception`.

[Source]

    # File lib/core/facets/exception/raised.rb, line 5
      def raised? #:yeild:
        begin
          yield
          false
        rescue self
          true
        end
      end

[Validate]