Hexadecimal errors

This adds an error handling requirement to the exercise of parsing hex and returning both a value and a proper error.