Should we throw exceptions on things that may happen by no fault of the end dev?