diff --git a/rusha.sweet.js b/rusha.sweet.js
index <HASH>..<HASH> 100644
--- a/rusha.sweet.js
+++ b/rusha.sweet.js
@@ -48,8 +48,12 @@
         hasher = new Rusha(4 * 1024 * 1024);
     self.onmessage = function onMessage (event) {
       var hash, data = event.data.data;
-      hash = hasher.digest(data);
-      self.postMessage({id: event.data.id, hash: hash});
+      try {
+        hash = hasher.digest(data);
+        self.postMessage({id: event.data.id, hash: hash});
+      } catch (e) {
+        self.postMessage({id: event.data.id, error: e.name});
+      }
     };
   }
 
@@ -154,13 +158,9 @@
 
     var convBlob = function (H8, H32, start, len, off) {
       var blob = this, i, om = off % 4, lm = len % 4, j = len - lm;
-      try {
-        var buf = new Uint8Array(
-          reader.readAsBinaryString(blob.slice(start, start+len))
-        );
-      } catch (e) {
-          throw new Error('Unable to read Blob: ' + e.name)
-      }
+      var buf = new Uint8Array(
+        reader.readAsBinaryString(blob.slice(start, start+len))
+      );
       if (j > 0) {
         switch (om) {
           case 0: H8[off + 3 | 0] = buf[0];
Add back error handling when using as a web worker