# File lib/util/error_handler.rb, line 76
    def check_for_error(code, error_class = nil)

      raise ::ArgumentError.new("Invalid error code: #{code}") if code.nil?

      return code if code > 0

      case(code)

      when Qpid::Proton::Error::NONE
        return

      when Qpid::Proton::Error::EOS
        raise Qpid::Proton::EOSError.new(self.error)

      when Qpid::Proton::Error::ERROR
        raise Qpid::Proton::ProtonError.new(self.error)

      when Qpid::Proton::Error::OVERFLOW
        raise Qpid::Proton::OverflowError.new(self.error)

      when Qpid::Proton::Error::UNDERFLOW
        raise Qpid::Proton::UnderflowError.new(self.error)

      when Qpid::Proton::Error::ARGUMENT
        raise Qpid::Proton::ArgumentError.new(self.error)

      when Qpid::Proton::Error::STATE
        raise Qpid::Proton::StateError.new(self.error)

      when Qpid::Proton::Error::TIMEOUT
        raise Qpid::Proton::TimeoutError.new(self.error)

      when Qpid::Proton::Error::INPROGRESS
        return

      when Qpid::Proton::Error::INTERRUPTED
        raise Qpid::Proton::InterruptedError.new(self.error)

      when Qpid::Proton::Error::INPROGRESS
        raise Qpid::Proton::InProgressError.new(self.error)

      else

        raise ::ArgumentError.new("Unknown error code: #{code}")

      end

    end