From bfd70e32803c89b3072a06578eda9f3e8e9fef23 Mon Sep 17 00:00:00 2001 From: Bjoern Rabenstein Date: Thu, 27 Nov 2014 19:29:17 +0100 Subject: [PATCH] Make LoadFromString not panic but return an error instead. Change-Id: I9f52fe807c8e9771a530f90ede8bd46fcdb467ae --- model/fingerprinting.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/model/fingerprinting.go b/model/fingerprinting.go index 670756e..9bb6085 100644 --- a/model/fingerprinting.go +++ b/model/fingerprinting.go @@ -40,12 +40,20 @@ func (f Fingerprint) Equal(o Fingerprint) bool { } // LoadFromString transforms a string representation into a Fingerprint. -func (f *Fingerprint) LoadFromString(s string) { +func (f *Fingerprint) LoadFromString(s string) error { num, err := strconv.ParseUint(s, 16, 64) if err != nil { - panic(err) + return err } *f = Fingerprint(num) + return nil +} + +// MustLoadFromString works like LoadFromString but panics in case of an error. +func (f *Fingerprint) MustLoadFromString(s string) { + if err := f.LoadFromString(s); err != nil { + panic(err) + } } // LoadFromMetric decomposes a Metric into this Fingerprint