Data here is most commonly coming from user input, not sure that throwing exceptions is what most developers would want