commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pste...@apache.org
Subject svn commit: r602612 - /commons/proper/math/trunk/src/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java
Date Sun, 09 Dec 2007 02:23:08 GMT
Author: psteitz
Date: Sat Dec  8 18:23:07 2007
New Revision: 602612

URL: http://svn.apache.org/viewvc?rev=602612&view=rev
Log:
Clean up reflection exception handling.

Modified:
    commons/proper/math/trunk/src/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java

Modified: commons/proper/math/trunk/src/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java?rev=602612&r1=602611&r2=602612&view=diff
==============================================================================
--- commons/proper/math/trunk/src/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java
(original)
+++ commons/proper/math/trunk/src/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java
Sat Dec  8 18:23:07 2007
@@ -17,6 +17,7 @@
 package org.apache.commons.math.stat.descriptive;
 
 import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
 import java.util.Arrays;
 
 import org.apache.commons.discovery.tools.DiscoverClass;
@@ -369,9 +370,15 @@
                 percentileImpl.getClass().getMethod("setQuantile", 
                         new Class[] {Double.TYPE}).invoke(percentileImpl,
                                 new Object[] {new Double(p)});
-            } catch (Exception ex) { // Should never happen, guarded by setter
-                throw new IllegalStateException(
-                "Percentile implementation does not support setQuantile");
+            } catch (NoSuchMethodException e1) { // Setter guard should prevent
+                throw new IllegalArgumentException(
+                   "Percentile implementation does not support setQuantile");
+            } catch (IllegalAccessException e2) {
+                throw new IllegalArgumentException(
+                    "IllegalAccessException setting quantile"); 
+            } catch (InvocationTargetException e3) {
+                throw new IllegalArgumentException(
+                    "Error setting quantile" + e3.toString()); 
             }
         }
         return apply(percentileImpl);
@@ -503,9 +510,15 @@
             percentileImpl.getClass().getMethod("setQuantile", 
                     new Class[] {Double.TYPE}).invoke(percentileImpl,
                             new Object[] {new Double(50.0d)});
-        } catch (Exception ex) { 
+        } catch (NoSuchMethodException e1) { 
             throw new IllegalArgumentException(
                     "Percentile implementation does not support setQuantile");
+        } catch (IllegalAccessException e2) {
+            throw new IllegalArgumentException(
+                "IllegalAccessException setting quantile"); 
+        } catch (InvocationTargetException e3) {
+            throw new IllegalArgumentException(
+                "Error setting quantile" + e3.toString()); 
         }
         this.percentileImpl = percentileImpl;
     }



Mime
View raw message