golang error handling wrappers