diff --git a/src/infohash.cpp b/src/infohash.cpp
index fcc6441b7fb1592a92ad4c2035ac0b695578063c..f25fd5ea099a480da97f234f6365708f7abc9b9f 100644
--- a/src/infohash.cpp
+++ b/src/infohash.cpp
@@ -57,7 +57,7 @@ InfoHash::get(const uint8_t* data, size_t data_len)
     int rc = gnutls_fingerprint(algo, &gnudata, h.data(), &s);
     if (rc == 0 && s == HASH_LEN)
         return h;
-    throw std::string("Error while hashing");
+    throw std::runtime_error(std::string("Error hashing: ") + gnutls_strerror(rc));
 }
 
 InfoHash