]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/engine/Dictionary.java
Make more robust by catching some exceptions.
[Dictionary.git] / src / com / hughes / android / dictionary / engine / Dictionary.java
index 5b209b037da3095ebc398683331746062b237f92..03984315afa7ef2921390fbbfcd14c3a91b22b30 100644 (file)
@@ -20,6 +20,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.io.RandomAccessFile;
+import java.nio.BufferUnderflowException;
 import java.nio.MappedByteBuffer;
 import java.nio.channels.FileChannel;
 import java.util.ArrayList;
@@ -212,6 +213,10 @@ public class Dictionary {
             // Most likely due to a Buffer.limit beyond size of file,
             // do not crash just because of a truncated dictionary file
             return getErrorDictionaryInfo(file);
+        } catch (BufferUnderflowException e) {
+            // Most likely due to a read beyond the buffer limit set,
+            // do not crash just because of a truncated or corrupt dictionary file
+            return getErrorDictionaryInfo(file);
         } finally {
             if (raf != null) {
                 try {