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