Index: trunk/src/com/drew/metadata/exif/ExifReader.java
===================================================================
--- trunk/src/com/drew/metadata/exif/ExifReader.java	(revision 10862)
+++ trunk/src/com/drew/metadata/exif/ExifReader.java	(revision 13061)
@@ -1,4 +1,4 @@
 /*
- * Copyright 2002-2016 Drew Noakes
+ * Copyright 2002-2017 Drew Noakes
  *
  *    Licensed under the Apache License, Version 2.0 (the "License");
@@ -42,20 +42,9 @@
  * @author Drew Noakes https://drewnoakes.com
  */
+@SuppressWarnings("WeakerAccess")
 public class ExifReader implements JpegSegmentMetadataReader
 {
     /** Exif data stored in JPEG files' APP1 segment are preceded by this six character preamble. */
     public static final String JPEG_SEGMENT_PREAMBLE = "Exif\0\0";
-
-    private boolean _storeThumbnailBytes = true;
-
-    public boolean isStoreThumbnailBytes()
-    {
-        return _storeThumbnailBytes;
-    }
-
-    public void setStoreThumbnailBytes(boolean storeThumbnailBytes)
-    {
-        _storeThumbnailBytes = storeThumbnailBytes;
-    }
 
     @NotNull
@@ -89,18 +78,22 @@
     }
 
-    /** Reads TIFF formatted Exif data a specified offset within a {@link RandomAccessReader}. */
+    /** Reads TIFF formatted Exif data at a specified offset within a {@link RandomAccessReader}. */
     public void extract(@NotNull final RandomAccessReader reader, @NotNull final Metadata metadata, int readerOffset, @Nullable Directory parentDirectory)
     {
+        ExifTiffHandler exifTiffHandler = new ExifTiffHandler(metadata, parentDirectory);
+
         try {
             // Read the TIFF-formatted Exif data
             new TiffReader().processTiff(
                 reader,
-                new ExifTiffHandler(metadata, _storeThumbnailBytes, parentDirectory),
+                exifTiffHandler,
                 readerOffset
             );
         } catch (TiffProcessingException e) {
+            exifTiffHandler.error("Exception processing TIFF data: " + e.getMessage());
             // TODO what do to with this error state?
             e.printStackTrace(System.err);
         } catch (IOException e) {
+            exifTiffHandler.error("Exception processing TIFF data: " + e.getMessage());
             // TODO what do to with this error state?
             e.printStackTrace(System.err);
