Ethernet sheild stops connecting after an extended period

C strings are not immune from problems, given how easy it is to write beyond the end of an array, but, as least with strings, only you can shoot yourself in the foot. C hands you the gun, and gives you aiming instructions.

The String class (actually, the free() function) aims the gun and squeezes on the trigger.

Fantastic analogy.