sqs.message: Raising an exception in decode() should not abort parsing

Since AWS seems to return Body before ReceiptHandle, raising an exception in decode() will abort processing before the receipt handle is read.

This is a problem, because there's no way to dequeue the message without the handle.

Instead, wait to invoke decode() until parsing is finished.