diff --git a/src/java/org/apache/poi/hssf/dev/BiffViewer.java b/src/java/org/apache/poi/hssf/dev/BiffViewer.java index 29d75fb5f..df62f7c6d 100644 --- a/src/java/org/apache/poi/hssf/dev/BiffViewer.java +++ b/src/java/org/apache/poi/hssf/dev/BiffViewer.java @@ -111,7 +111,7 @@ public class BiffViewer { } activeRecord.dump(); } catch (IOException e) { - throw new RecordFormatException("Error reading bytes"); + throw new RecordFormatException("Error reading bytes", e); } Record[] retval = new Record[records.size()]; diff --git a/src/java/org/apache/poi/hssf/eventmodel/EventRecordFactory.java b/src/java/org/apache/poi/hssf/eventmodel/EventRecordFactory.java index 438107ac4..2532ad72f 100644 --- a/src/java/org/apache/poi/hssf/eventmodel/EventRecordFactory.java +++ b/src/java/org/apache/poi/hssf/eventmodel/EventRecordFactory.java @@ -332,9 +332,7 @@ public class EventRecordFactory } catch (Exception introspectionException) { - introspectionException.printStackTrace(); - throw new RecordFormatException( - "Unable to construct record instance, the following exception occured: " + introspectionException.getMessage()); + throw new RecordFormatException("Unable to construct record instance" , introspectionException); } if (retval instanceof RKRecord) { diff --git a/src/java/org/apache/poi/hssf/record/FormulaRecord.java b/src/java/org/apache/poi/hssf/record/FormulaRecord.java index a3b189d47..64f0525da 100644 --- a/src/java/org/apache/poi/hssf/record/FormulaRecord.java +++ b/src/java/org/apache/poi/hssf/record/FormulaRecord.java @@ -102,7 +102,7 @@ public class FormulaRecord field_7_expression_len = in.readShort(); field_8_parsed_expr = Ptg.createParsedExpressionTokens(field_7_expression_len, in); } catch (java.lang.UnsupportedOperationException uoe) { - throw new RecordFormatException(uoe.toString()); + throw new RecordFormatException(uoe); } } diff --git a/src/java/org/apache/poi/hssf/record/RecordFactory.java b/src/java/org/apache/poi/hssf/record/RecordFactory.java index f9c86a3ce..9f5901c05 100644 --- a/src/java/org/apache/poi/hssf/record/RecordFactory.java +++ b/src/java/org/apache/poi/hssf/record/RecordFactory.java @@ -222,9 +222,7 @@ public class RecordFactory } catch (Exception introspectionException) { - introspectionException.printStackTrace(); - throw new RecordFormatException( - "Unable to construct record instance, the following exception occured: " + introspectionException.getMessage()); + throw new RecordFormatException("Unable to construct record instance",introspectionException); } if (retval instanceof RKRecord) { @@ -316,9 +314,8 @@ public class RecordFactory } catch (Exception illegalArgumentException) { - illegalArgumentException.printStackTrace(); throw new RecordFormatException( - "Unable to determine record types"); + "Unable to determine record types", illegalArgumentException); } result.put(new Short(sid), constructor); } diff --git a/src/java/org/apache/poi/hssf/record/RecordFormatException.java b/src/java/org/apache/poi/hssf/record/RecordFormatException.java index f2050a3f8..d708f5eb0 100644 --- a/src/java/org/apache/poi/hssf/record/RecordFormatException.java +++ b/src/java/org/apache/poi/hssf/record/RecordFormatException.java @@ -30,4 +30,12 @@ public class RecordFormatException { super(exception); } + + public RecordFormatException(String exception, Throwable thr) { + super(exception, thr); + } + + public RecordFormatException(Throwable thr) { + super(thr); + } } diff --git a/src/java/org/apache/poi/hssf/record/RecordInputStream.java b/src/java/org/apache/poi/hssf/record/RecordInputStream.java index 00c9200d5..7bc3671fe 100755 --- a/src/java/org/apache/poi/hssf/record/RecordInputStream.java +++ b/src/java/org/apache/poi/hssf/record/RecordInputStream.java @@ -54,7 +54,7 @@ public class RecordInputStream extends InputStream //Dont increment the pos just yet (technically we are at the start of //the record stream until nextRecord is called). } catch (IOException ex) { - throw new RecordFormatException("Error reading bytes"); + throw new RecordFormatException("Error reading bytes", ex); } } diff --git a/src/java/org/apache/poi/hssf/record/formula/Ptg.java b/src/java/org/apache/poi/hssf/record/formula/Ptg.java index 4e7df5b86..5574076db 100644 --- a/src/java/org/apache/poi/hssf/record/formula/Ptg.java +++ b/src/java/org/apache/poi/hssf/record/formula/Ptg.java @@ -327,7 +327,7 @@ public abstract class Ptg default : //retval = new UnknownPtg(); - throw new java.lang.UnsupportedOperationException( + throw new java.lang.UnsupportedOperationException(" Unknown Ptg in Formula: 0x"+ Integer.toHexString(( int ) id) + " (" + ( int ) id + ")"); }