return a more descriptive error

The metric name is not externally accessible, given only
the metric itself. If the user wants to report errors
(for example, in a log message) describing which metric
was associated with the error, they will have to do some
bookeeping to map metric values to names. This addition
frees the user from doing that bookkeeping.