diff --git a/libmat2/exiftool.py b/libmat2/exiftool.py
index 89081e286b1abdcd3dbf868ab1d9f8936136ecf7..1ce60a123e481810395076b1c57308a3d456a9fe 100644
--- a/libmat2/exiftool.py
+++ b/libmat2/exiftool.py
@@ -20,13 +20,18 @@ class ExiftoolParser(abstract.AbstractParser):
     meta_allowlist = set()  # type: Set[str]
 
     def get_meta(self) -> Dict[str, Union[str, dict]]:
-        if self.sandbox:
-            out = bubblewrap.run([_get_exiftool_path(), '-json', self.filename],
-                                 input_filename=self.filename,
-                                 check=True, stdout=subprocess.PIPE).stdout
-        else:
-            out = subprocess.run([_get_exiftool_path(), '-json', self.filename],
-                                 check=True, stdout=subprocess.PIPE).stdout
+        try:
+            if self.sandbox:
+                out = bubblewrap.run([_get_exiftool_path(), '-json',
+                                      self.filename],
+                                     input_filename=self.filename,
+                                     check=True, stdout=subprocess.PIPE).stdout
+            else:
+                out = subprocess.run([_get_exiftool_path(), '-json',
+                                      self.filename],
+                                     check=True, stdout=subprocess.PIPE).stdout
+        except subprocess.CalledProcessError:  # pragma: no cover
+            raise ValueError
         meta = json.loads(out.decode('utf-8'))[0]
         for key in self.meta_allowlist:
             meta.pop(key, None)