On the Android side of things, if there is not internet/network connection the provider will save the exception message to disk. The next time the provider goes to send a message and there is an internet/network connection, the queued messages (up to 64) will be sent as well.
I'm going to check with the rest of the team to confirm what the behavior is on the iOS side, just to be sure.
Please let us know if you have any other questions! I'll update you with the iOS information as soon as I get it.