# File lib/safely/core.rb, line 45
    def safely(tag: nil, sample: nil, except: nil, only: nil, silence: nil, throttle: false, default: nil)
      yield
    rescue *Array(only || StandardError) => e
      raise e if Array(except).any? { |c| e.is_a?(c) }
      raise e if Safely.raise_envs.include?(Safely.env)
      if sample ? rand < 1.0 / sample : true
        begin
          unless Array(silence).any? { |c| e.is_a?(c) } || Safely.throttled?(e, throttle)
            Safely.report_exception(e, tag: tag)
          end
        rescue => e2
          $stderr.puts "FAIL-SAFE #{e2.class.name}: #{e2.message}"
        end
      end
      default
    end