Catch internal errors and return them like a good Go citizen