# File lib/new_relic/agent/error_collector.rb, line 193
      def notice_error(exception, options={}) #THREAD_LOCAL_ACCESS
        return if skip_notice_error?(exception)

        tag_exception(exception)

        state = ::NewRelic::Agent::TransactionState.tl_get

        unless options.delete(:trace_only)
          increment_error_count!(state, exception, options)
        end

        noticed_error = create_noticed_error(exception, options)
        error_trace_aggregator.add_to_error_queue(noticed_error)
        payload = state.current_transaction ? state.current_transaction.payload : nil
        error_event_aggregator.append_event(noticed_error, payload)
        exception
      rescue => e
        ::NewRelic::Agent.logger.warn("Failure when capturing error '#{exception}':", e)
        nil
      end