From 0a9fa0feb2a752607c791208d0595db87d9d2fe8 Mon Sep 17 00:00:00 2001 From: Sebastian Sickelmann Date: Tue, 30 Aug 2011 11:53:11 -0700 Subject: [PATCH] 7084245: Update usages of InternalError to use exception chaining To use new InternalError constructor with cause chainning Reviewed-by: alanb, ksrini, xuelei, neugens --- .../plugins/jpeg/JFIFMarkerSegment.java | 2 +- .../com/sun/jmx/snmp/SnmpCounter64.java | 2 +- .../classes/com/sun/jmx/snmp/SnmpInt.java | 2 +- .../classes/com/sun/jmx/snmp/SnmpNull.java | 2 +- .../classes/com/sun/jmx/snmp/SnmpString.java | 2 +- .../jmx/snmp/daemon/SnmpRequestHandler.java | 2 +- .../com/sun/servicetag/BrowserSupport.java | 31 +++---------------- .../sun/servicetag/RegistrationDocument.java | 20 +++--------- .../classes/java/awt/BufferCapabilities.java | 2 +- jdk/src/share/classes/java/awt/Component.java | 7 ++--- .../classes/java/awt/GridBagConstraints.java | 2 +- .../classes/java/awt/ImageCapabilities.java | 2 +- jdk/src/share/classes/java/awt/Insets.java | 2 +- .../share/classes/java/awt/JobAttributes.java | 2 +- .../classes/java/awt/PageAttributes.java | 2 +- .../classes/java/awt/RenderingHints.java | 2 +- .../classes/java/awt/font/TextLayout.java | 2 +- .../java/awt/geom/AffineTransform.java | 2 +- .../classes/java/awt/geom/CubicCurve2D.java | 2 +- .../classes/java/awt/geom/Dimension2D.java | 2 +- .../share/classes/java/awt/geom/Line2D.java | 2 +- .../share/classes/java/awt/geom/Point2D.java | 2 +- .../classes/java/awt/geom/QuadCurve2D.java | 2 +- .../java/awt/geom/RectangularShape.java | 2 +- .../classes/java/awt/image/ImageFilter.java | 2 +- .../share/classes/java/awt/image/Kernel.java | 2 +- .../classes/java/io/ObjectStreamClass.java | 20 ++++++------ .../classes/java/lang/CharacterName.java | 2 +- jdk/src/share/classes/java/lang/Class.java | 6 ++-- .../classes/java/lang/invoke/CallSite.java | 5 ++- .../classes/java/lang/invoke/Invokers.java | 2 +- .../classes/java/lang/invoke/MemberName.java | 2 +- .../java/lang/invoke/MethodHandleStatics.java | 4 +-- .../java/lang/invoke/MethodTypeForm.java | 2 +- .../classes/java/lang/reflect/Proxy.java | 2 +- jdk/src/share/classes/java/rmi/dgc/VMID.java | 2 +- .../cert/CollectionCertStoreParameters.java | 2 +- .../cert/LDAPCertStoreParameters.java | 2 +- .../security/cert/PKIXCertPathChecker.java | 2 +- .../cert/PKIXCertPathValidatorResult.java | 2 +- .../java/security/cert/PKIXParameters.java | 2 +- .../java/security/cert/X509CRLSelector.java | 2 +- .../java/security/cert/X509CertSelector.java | 2 +- .../classes/java/text/AttributedString.java | 2 +- .../classes/java/text/BreakDictionary.java | 2 +- .../classes/java/text/BreakIterator.java | 4 +-- jdk/src/share/classes/java/text/Collator.java | 2 +- .../classes/java/text/DateFormatSymbols.java | 2 +- .../classes/java/text/DecimalFormat.java | 12 +++---- .../java/text/DecimalFormatSymbols.java | 2 +- .../share/classes/java/text/DigitList.java | 2 +- jdk/src/share/classes/java/text/Format.java | 2 +- .../java/text/RuleBasedBreakIterator.java | 2 +- .../java/text/StringCharacterIterator.java | 2 +- .../share/classes/java/util/ArrayList.java | 2 +- jdk/src/share/classes/java/util/BitSet.java | 2 +- jdk/src/share/classes/java/util/Calendar.java | 2 +- jdk/src/share/classes/java/util/Currency.java | 4 +-- jdk/src/share/classes/java/util/HashSet.java | 2 +- .../share/classes/java/util/Hashtable.java | 2 +- .../classes/java/util/IdentityHashMap.java | 2 +- .../share/classes/java/util/LinkedList.java | 2 +- jdk/src/share/classes/java/util/Locale.java | 2 +- .../classes/java/util/ResourceBundle.java | 2 +- jdk/src/share/classes/java/util/TimeZone.java | 2 +- jdk/src/share/classes/java/util/TreeMap.java | 2 +- jdk/src/share/classes/java/util/TreeSet.java | 2 +- jdk/src/share/classes/java/util/UUID.java | 2 +- jdk/src/share/classes/java/util/Vector.java | 2 +- .../share/classes/java/util/zip/ZipEntry.java | 2 +- .../openmbean/TabularDataSupport.java | 2 +- .../javax/swing/text/ElementIterator.java | 2 +- .../javax/swing/text/rtf/RTFReader.java | 6 ++-- .../classes/sun/dc/DuctusRenderingEngine.java | 4 +-- .../classes/sun/font/FontLineMetrics.java | 2 +- .../share/classes/sun/font/GlyphLayout.java | 2 +- .../sun/invoke/util/ValueConversions.java | 8 ++--- .../classes/sun/java2d/pipe/LoopPipe.java | 3 +- .../counter/perf/PerfDataEntry.java | 2 +- .../management/counter/perf/PerfDataType.java | 2 +- jdk/src/share/classes/sun/misc/Launcher.java | 17 ++++------ .../classes/sun/misc/ProxyGenerator.java | 4 +-- .../share/classes/sun/net/NetworkClient.java | 2 +- .../share/classes/sun/net/NetworkServer.java | 2 +- .../classes/sun/net/ftp/impl/FtpClient.java | 8 ++--- .../classes/sun/net/smtp/SmtpClient.java | 2 +- .../sun/net/www/http/ChunkedOutputStream.java | 2 +- .../classes/sun/net/www/http/HttpClient.java | 2 +- .../net/www/protocol/gopher/GopherClient.java | 2 +- .../net/www/protocol/https/HttpsClient.java | 2 +- jdk/src/share/classes/sun/nio/ch/Util.java | 8 ++--- jdk/src/share/classes/sun/reflect/UTF8.java | 2 +- .../classes/sun/reflect/misc/MethodUtil.java | 2 +- .../classes/sun/rmi/transport/LiveRef.java | 2 +- .../sun/security/provider/SecureRandom.java | 2 +- .../sun/security/provider/SeedGenerator.java | 17 ++++++---- .../provider/certpath/ForwardState.java | 2 +- .../provider/certpath/ReverseState.java | 2 +- .../provider/certpath/URICertStore.java | 2 +- .../sun/security/util/SecurityConstants.java | 6 ++-- .../classes/sun/text/CompactByteArray.java | 2 +- .../sun/text/normalizer/NormalizerBase.java | 2 +- .../tools/attach/HotSpotAttachProvider.java | 2 +- .../tools/attach/HotSpotVirtualMachine.java | 4 +-- .../tools/jconsole/LocalVirtualMachine.java | 6 ++-- .../share/classes/sun/tools/tree/Node.java | 2 +- .../sun/tracing/dtrace/DTraceProvider.java | 13 ++------ .../sun/util/calendar/CalendarDate.java | 2 +- .../classes/sun/awt/X11/XBaseMenuWindow.java | 2 +- .../classes/sun/awt/X11/XMenuItemPeer.java | 2 +- .../classes/sun/nio/ch/InheritedChannel.java | 2 +- .../sun/tools/attach/LinuxVirtualMachine.java | 2 +- 112 files changed, 166 insertions(+), 229 deletions(-) diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java index 3adcddce5e9..64d09af7b8c 100644 --- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java +++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java @@ -763,7 +763,7 @@ class JFIFMarkerSegment extends MarkerSegment { } } catch (IllegalThumbException e) { // Should never happen - throw new InternalError("Illegal thumb in setThumbnail!"); + throw new InternalError("Illegal thumb in setThumbnail!", e); } } diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpCounter64.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpCounter64.java index 128903628d1..ed23942eeb6 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpCounter64.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpCounter64.java @@ -186,7 +186,7 @@ public class SnmpCounter64 extends SnmpValue { newclone = (SnmpCounter64) super.clone() ; newclone.value = value ; } catch (CloneNotSupportedException e) { - throw new InternalError() ; // vm bug. + throw new InternalError(e) ; // vm bug. } return newclone ; } diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpInt.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpInt.java index a5faf5c4260..ca1cf52f564 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpInt.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpInt.java @@ -232,7 +232,7 @@ public class SnmpInt extends SnmpValue { newclone = (SnmpInt) super.clone() ; newclone.value = value ; } catch (CloneNotSupportedException e) { - throw new InternalError() ; // vm bug. + throw new InternalError(e) ; // vm bug. } return newclone ; } diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpNull.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpNull.java index 18fe8b72a27..f6274b406c9 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpNull.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpNull.java @@ -129,7 +129,7 @@ public class SnmpNull extends SnmpValue { newclone = (SnmpNull) super.clone() ; newclone.tag = tag ; } catch (CloneNotSupportedException e) { - throw new InternalError() ; // vm bug. + throw new InternalError(e) ; // vm bug. } return newclone ; } diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java index 47cfbdf6ae4..1cf86adf86e 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java @@ -250,7 +250,7 @@ public class SnmpString extends SnmpValue { newclone.value = new byte[value.length] ; System.arraycopy(value, 0, newclone.value, 0, value.length) ; } catch (CloneNotSupportedException e) { - throw new InternalError() ; // vm bug. + throw new InternalError(e) ; // vm bug. } return newclone ; } diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java index 53b9f0bd7df..dc32e6b35ad 100644 --- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java +++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java @@ -921,7 +921,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions { SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, dbgTag, "newTooBigMessage", "Internal error", x); } - throw new InternalError() ; + throw new InternalError(x) ; } return result ; diff --git a/jdk/src/share/classes/com/sun/servicetag/BrowserSupport.java b/jdk/src/share/classes/com/sun/servicetag/BrowserSupport.java index 442267bf36c..86d9204863e 100644 --- a/jdk/src/share/classes/com/sun/servicetag/BrowserSupport.java +++ b/jdk/src/share/classes/com/sun/servicetag/BrowserSupport.java @@ -77,9 +77,7 @@ class BrowserSupport { result = (Boolean) isDesktopSupportedMethod.invoke(null); } catch (IllegalAccessException e) { // should never reach here - InternalError x = - new InternalError("Desktop.getDesktop() method not found"); - x.initCause(e); + throw new InternalError("Desktop.getDesktop() method not found", e); } catch (InvocationTargetException e) { // browser not supported if (Util.isVerbose()) { @@ -101,28 +99,10 @@ class BrowserSupport { result = (Boolean) isSupportedMethod.invoke(desktopObj, browseField.get(null)); supported = result.booleanValue(); } - } catch (ClassNotFoundException e) { - // browser not supported - if (Util.isVerbose()) { - e.printStackTrace(); - } - } catch (NoSuchMethodException e) { - // browser not supported - if (Util.isVerbose()) { - e.printStackTrace(); - } - } catch (NoSuchFieldException e) { - // browser not supported - if (Util.isVerbose()) { - e.printStackTrace(); - } } catch (IllegalAccessException e) { // should never reach here - InternalError x = - new InternalError("Desktop.getDesktop() method not found"); - x.initCause(e); - throw x; - } catch (InvocationTargetException e) { + throw new InternalError("Desktop.getDesktop() method not found", e); + } catch (ReflectiveOperationException e) { // browser not supported if (Util.isVerbose()) { e.printStackTrace(); @@ -175,10 +155,7 @@ class BrowserSupport { browseMethod.invoke(desktop, uri); } catch (IllegalAccessException e) { // should never reach here - InternalError x = - new InternalError("Desktop.getDesktop() method not found"); - x.initCause(e); - throw x; + throw new InternalError("Desktop.getDesktop() method not found", e); } catch (InvocationTargetException e) { Throwable x = e.getCause(); if (x != null) { diff --git a/jdk/src/share/classes/com/sun/servicetag/RegistrationDocument.java b/jdk/src/share/classes/com/sun/servicetag/RegistrationDocument.java index 876446bc864..eb33570972e 100644 --- a/jdk/src/share/classes/com/sun/servicetag/RegistrationDocument.java +++ b/jdk/src/share/classes/com/sun/servicetag/RegistrationDocument.java @@ -150,9 +150,7 @@ class RegistrationDocument { } catch (ParserConfigurationException pce) { // Parser with specific options can't be built // should not reach here - InternalError x = new InternalError("Error in creating the new document"); - x.initCause(pce); - throw x; + throw new InternalError("Error in creating the new document", pce); } } @@ -172,9 +170,7 @@ class RegistrationDocument { } catch (ParserConfigurationException pce) { // Parser with specified options can't be built // should not reach here - InternalError x = new InternalError("Error in creating the new document"); - x.initCause(pce); - throw x; + throw new InternalError("Error in creating the new document", pce); } } @@ -195,20 +191,14 @@ class RegistrationDocument { new StreamResult(new BufferedWriter(new OutputStreamWriter(os, "UTF-8")))); } catch (UnsupportedEncodingException ue) { // Should not reach here - InternalError x = new InternalError("Error generated during transformation"); - x.initCause(ue); - throw x; + throw new InternalError("Error generated during transformation", ue); } catch (TransformerConfigurationException tce) { // Error generated by the parser // Should not reach here - InternalError x = new InternalError("Error in creating the new document"); - x.initCause(tce); - throw x; + throw new InternalError("Error in creating the new document", tce); } catch (TransformerException te) { // Error generated by the transformer - InternalError x = new InternalError("Error generated during transformation"); - x.initCause(te); - throw x; + throw new InternalError("Error generated during transformation", te); } } diff --git a/jdk/src/share/classes/java/awt/BufferCapabilities.java b/jdk/src/share/classes/java/awt/BufferCapabilities.java index a4b860bacbc..61ce15eeeee 100644 --- a/jdk/src/share/classes/java/awt/BufferCapabilities.java +++ b/jdk/src/share/classes/java/awt/BufferCapabilities.java @@ -137,7 +137,7 @@ public class BufferCapabilities implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // Since we implement Cloneable, this should never happen - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/Component.java b/jdk/src/share/classes/java/awt/Component.java index 2225633c0db..4c6067e6dbf 100644 --- a/jdk/src/share/classes/java/awt/Component.java +++ b/jdk/src/share/classes/java/awt/Component.java @@ -3776,11 +3776,10 @@ public abstract class Component implements ImageObserver, MenuContainer, createBufferStrategy(numBuffers, bufferCaps); return; // Success } catch (AWTException e) { - // Failed + // Code should never reach here (an unaccelerated blitting + // strategy should always work) + throw new InternalError("Could not create a buffer strategy", e); } - // Code should never reach here (an unaccelerated blitting - // strategy should always work) - throw new InternalError("Could not create a buffer strategy"); } /** diff --git a/jdk/src/share/classes/java/awt/GridBagConstraints.java b/jdk/src/share/classes/java/awt/GridBagConstraints.java index 9fb3093f1e5..c524efd0c63 100644 --- a/jdk/src/share/classes/java/awt/GridBagConstraints.java +++ b/jdk/src/share/classes/java/awt/GridBagConstraints.java @@ -653,7 +653,7 @@ public class GridBagConstraints implements Cloneable, java.io.Serializable { return c; } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/ImageCapabilities.java b/jdk/src/share/classes/java/awt/ImageCapabilities.java index fb6ddc5db19..d0ad474a944 100644 --- a/jdk/src/share/classes/java/awt/ImageCapabilities.java +++ b/jdk/src/share/classes/java/awt/ImageCapabilities.java @@ -74,7 +74,7 @@ public class ImageCapabilities implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // Since we implement Cloneable, this should never happen - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/Insets.java b/jdk/src/share/classes/java/awt/Insets.java index c9e38059047..f049a9e8bf6 100644 --- a/jdk/src/share/classes/java/awt/Insets.java +++ b/jdk/src/share/classes/java/awt/Insets.java @@ -177,7 +177,7 @@ public class Insets implements Cloneable, java.io.Serializable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } /** diff --git a/jdk/src/share/classes/java/awt/JobAttributes.java b/jdk/src/share/classes/java/awt/JobAttributes.java index c144e1b7439..205b360ac65 100644 --- a/jdk/src/share/classes/java/awt/JobAttributes.java +++ b/jdk/src/share/classes/java/awt/JobAttributes.java @@ -361,7 +361,7 @@ public final class JobAttributes implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // Since we implement Cloneable, this should never happen - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/PageAttributes.java b/jdk/src/share/classes/java/awt/PageAttributes.java index f5c883369f2..85f52ffbe14 100644 --- a/jdk/src/share/classes/java/awt/PageAttributes.java +++ b/jdk/src/share/classes/java/awt/PageAttributes.java @@ -969,7 +969,7 @@ public final class PageAttributes implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // Since we implement Cloneable, this should never happen - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/RenderingHints.java b/jdk/src/share/classes/java/awt/RenderingHints.java index 7d33dbe3f5a..5b8daa9e519 100644 --- a/jdk/src/share/classes/java/awt/RenderingHints.java +++ b/jdk/src/share/classes/java/awt/RenderingHints.java @@ -1276,7 +1276,7 @@ public class RenderingHints } } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } return rh; diff --git a/jdk/src/share/classes/java/awt/font/TextLayout.java b/jdk/src/share/classes/java/awt/font/TextLayout.java index c5e204afeac..51b0dc64e80 100644 --- a/jdk/src/share/classes/java/awt/font/TextLayout.java +++ b/jdk/src/share/classes/java/awt/font/TextLayout.java @@ -753,7 +753,7 @@ public final class TextLayout implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/geom/AffineTransform.java b/jdk/src/share/classes/java/awt/geom/AffineTransform.java index a3b8134fe1f..2fa1dc2137a 100644 --- a/jdk/src/share/classes/java/awt/geom/AffineTransform.java +++ b/jdk/src/share/classes/java/awt/geom/AffineTransform.java @@ -3856,7 +3856,7 @@ public class AffineTransform implements Cloneable, java.io.Serializable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/geom/CubicCurve2D.java b/jdk/src/share/classes/java/awt/geom/CubicCurve2D.java index 3f6bc9de4dd..5e1fc770f2f 100644 --- a/jdk/src/share/classes/java/awt/geom/CubicCurve2D.java +++ b/jdk/src/share/classes/java/awt/geom/CubicCurve2D.java @@ -1569,7 +1569,7 @@ public abstract class CubicCurve2D implements Shape, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/awt/geom/Dimension2D.java b/jdk/src/share/classes/java/awt/geom/Dimension2D.java index 437c827d6a9..35725397ce9 100644 --- a/jdk/src/share/classes/java/awt/geom/Dimension2D.java +++ b/jdk/src/share/classes/java/awt/geom/Dimension2D.java @@ -108,7 +108,7 @@ public abstract class Dimension2D implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/awt/geom/Line2D.java b/jdk/src/share/classes/java/awt/geom/Line2D.java index 312a0e0e2db..2eccbd0c5ad 100644 --- a/jdk/src/share/classes/java/awt/geom/Line2D.java +++ b/jdk/src/share/classes/java/awt/geom/Line2D.java @@ -1122,7 +1122,7 @@ public abstract class Line2D implements Shape, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/awt/geom/Point2D.java b/jdk/src/share/classes/java/awt/geom/Point2D.java index d5455055c71..2320ea8f241 100644 --- a/jdk/src/share/classes/java/awt/geom/Point2D.java +++ b/jdk/src/share/classes/java/awt/geom/Point2D.java @@ -393,7 +393,7 @@ public abstract class Point2D implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java b/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java index d2351bc0d82..4df791e40b2 100644 --- a/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java +++ b/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java @@ -1395,7 +1395,7 @@ public abstract class QuadCurve2D implements Shape, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/awt/geom/RectangularShape.java b/jdk/src/share/classes/java/awt/geom/RectangularShape.java index 3c04832301f..1a468dd0109 100644 --- a/jdk/src/share/classes/java/awt/geom/RectangularShape.java +++ b/jdk/src/share/classes/java/awt/geom/RectangularShape.java @@ -391,7 +391,7 @@ public abstract class RectangularShape implements Shape, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/awt/image/ImageFilter.java b/jdk/src/share/classes/java/awt/image/ImageFilter.java index 2cd0da2880f..7b72807844b 100644 --- a/jdk/src/share/classes/java/awt/image/ImageFilter.java +++ b/jdk/src/share/classes/java/awt/image/ImageFilter.java @@ -252,7 +252,7 @@ public class ImageFilter implements ImageConsumer, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/awt/image/Kernel.java b/jdk/src/share/classes/java/awt/image/Kernel.java index e5da78c2bb7..a0f3ea64c84 100644 --- a/jdk/src/share/classes/java/awt/image/Kernel.java +++ b/jdk/src/share/classes/java/awt/image/Kernel.java @@ -147,7 +147,7 @@ public class Kernel implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/java/io/ObjectStreamClass.java b/jdk/src/share/classes/java/io/ObjectStreamClass.java index ec13d4533f8..f1c0d5b782f 100644 --- a/jdk/src/share/classes/java/io/ObjectStreamClass.java +++ b/jdk/src/share/classes/java/io/ObjectStreamClass.java @@ -478,7 +478,7 @@ public class ObjectStreamClass implements Serializable { fieldRefl = getReflector(fields, this); } catch (InvalidClassException ex) { // field mismatches impossible when matching local fields vs. self - throw new InternalError(); + throw new InternalError(ex); } if (deserializeEx == null) { @@ -941,7 +941,7 @@ public class ObjectStreamClass implements Serializable { return cons.newInstance(); } catch (IllegalAccessException ex) { // should not occur, as access checks have been suppressed - throw new InternalError(); + throw new InternalError(ex); } } else { throw new UnsupportedOperationException(); @@ -969,7 +969,7 @@ public class ObjectStreamClass implements Serializable { } } catch (IllegalAccessException ex) { // should not occur, as access checks have been suppressed - throw new InternalError(); + throw new InternalError(ex); } } else { throw new UnsupportedOperationException(); @@ -1000,7 +1000,7 @@ public class ObjectStreamClass implements Serializable { } } catch (IllegalAccessException ex) { // should not occur, as access checks have been suppressed - throw new InternalError(); + throw new InternalError(ex); } } else { throw new UnsupportedOperationException(); @@ -1028,7 +1028,7 @@ public class ObjectStreamClass implements Serializable { } } catch (IllegalAccessException ex) { // should not occur, as access checks have been suppressed - throw new InternalError(); + throw new InternalError(ex); } } else { throw new UnsupportedOperationException(); @@ -1053,11 +1053,11 @@ public class ObjectStreamClass implements Serializable { throw (ObjectStreamException) th; } else { throwMiscException(th); - throw new InternalError(); // never reached + throw new InternalError(th); // never reached } } catch (IllegalAccessException ex) { // should not occur, as access checks have been suppressed - throw new InternalError(); + throw new InternalError(ex); } } else { throw new UnsupportedOperationException(); @@ -1082,11 +1082,11 @@ public class ObjectStreamClass implements Serializable { throw (ObjectStreamException) th; } else { throwMiscException(th); - throw new InternalError(); // never reached + throw new InternalError(th); // never reached } } catch (IllegalAccessException ex) { // should not occur, as access checks have been suppressed - throw new InternalError(); + throw new InternalError(ex); } } else { throw new UnsupportedOperationException(); @@ -1774,7 +1774,7 @@ public class ObjectStreamClass implements Serializable { } return hash; } catch (IOException ex) { - throw new InternalError(); + throw new InternalError(ex); } catch (NoSuchAlgorithmException ex) { throw new SecurityException(ex.getMessage()); } diff --git a/jdk/src/share/classes/java/lang/CharacterName.java b/jdk/src/share/classes/java/lang/CharacterName.java index fa0b2d6dae3..a2d84635151 100644 --- a/jdk/src/share/classes/java/lang/CharacterName.java +++ b/jdk/src/share/classes/java/lang/CharacterName.java @@ -83,7 +83,7 @@ class CharacterName { dis.readFully(strPool); refStrPool = new SoftReference<>(strPool); } catch (Exception x) { - throw new InternalError(x.getMessage()); + throw new InternalError(x.getMessage(), x); } finally { try { if (dis != null) diff --git a/jdk/src/share/classes/java/lang/Class.java b/jdk/src/share/classes/java/lang/Class.java index 6f74179a28b..01e21b9a030 100644 --- a/jdk/src/share/classes/java/lang/Class.java +++ b/jdk/src/share/classes/java/lang/Class.java @@ -974,8 +974,7 @@ public final descriptor = (String) enclosingInfo[2]; assert((name != null && descriptor != null) || name == descriptor); } catch (ClassCastException cce) { - throw (InternalError) - new InternalError("Invalid type in enclosing method information").initCause(cce); + throw new InternalError("Invalid type in enclosing method information", cce); } } @@ -1241,8 +1240,7 @@ public final try { return getName().substring(enclosingClass.getName().length()); } catch (IndexOutOfBoundsException ex) { - throw (InternalError) - new InternalError("Malformed class name").initCause(ex); + throw new InternalError("Malformed class name", ex); } } diff --git a/jdk/src/share/classes/java/lang/invoke/CallSite.java b/jdk/src/share/classes/java/lang/invoke/CallSite.java index 276931ac1c9..465cd779be6 100644 --- a/jdk/src/share/classes/java/lang/invoke/CallSite.java +++ b/jdk/src/share/classes/java/lang/invoke/CallSite.java @@ -27,7 +27,6 @@ package java.lang.invoke; import sun.invoke.empty.Empty; import sun.misc.Unsafe; -import static java.lang.invoke.MethodHandleStatics.*; import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; /** @@ -244,8 +243,8 @@ public class CallSite { try { GET_TARGET = IMPL_LOOKUP. findVirtual(CallSite.class, "getTarget", MethodType.methodType(MethodHandle.class)); - } catch (ReflectiveOperationException ignore) { - throw new InternalError(); + } catch (ReflectiveOperationException e) { + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/lang/invoke/Invokers.java b/jdk/src/share/classes/java/lang/invoke/Invokers.java index 24b7d3ebc34..a1ae3743174 100644 --- a/jdk/src/share/classes/java/lang/invoke/Invokers.java +++ b/jdk/src/share/classes/java/lang/invoke/Invokers.java @@ -88,7 +88,7 @@ class Invokers { try { invoker = IMPL_LOOKUP.findVirtual(MethodHandle.class, name, targetType); } catch (ReflectiveOperationException ex) { - throw new InternalError("JVM cannot find invoker for "+targetType); + throw new InternalError("JVM cannot find invoker for "+targetType, ex); } assert(invokerType(targetType) == invoker.type()); assert(!invoker.isVarargsCollector()); diff --git a/jdk/src/share/classes/java/lang/invoke/MemberName.java b/jdk/src/share/classes/java/lang/invoke/MemberName.java index 088c5682fe6..bf72c5bce2d 100644 --- a/jdk/src/share/classes/java/lang/invoke/MemberName.java +++ b/jdk/src/share/classes/java/lang/invoke/MemberName.java @@ -382,7 +382,7 @@ import static java.lang.invoke.MethodHandleStatics.*; try { return (MemberName) super.clone(); } catch (CloneNotSupportedException ex) { - throw new InternalError(); + throw new InternalError(ex); } } diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleStatics.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleStatics.java index e812d245bbc..3cad363c7a1 100644 --- a/jdk/src/share/classes/java/lang/invoke/MethodHandleStatics.java +++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleStatics.java @@ -108,9 +108,7 @@ import java.security.PrivilegedAction; return new IllegalArgumentException(message(message, obj, obj2)); } /*non-public*/ static Error uncaughtException(Exception ex) { - Error err = new InternalError("uncaught exception"); - err.initCause(ex); - return err; + throw new InternalError("uncaught exception", ex); } private static String message(String message, Object obj) { if (obj != null) message = message + ": " + obj; diff --git a/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java b/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java index 768d1ab3782..75b0538c2be 100644 --- a/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java +++ b/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java @@ -461,7 +461,7 @@ class MethodTypeForm { // Trigger adapter creation. genericInvoker = InvokeGeneric.generalInvokerOf(erasedType); } catch (Exception ex) { - Error err = new InternalError("Exception while resolving inexact invoke"); + Error err = new InternalError("Exception while resolving inexact invoke", ex); err.initCause(ex); throw err; } diff --git a/jdk/src/share/classes/java/lang/reflect/Proxy.java b/jdk/src/share/classes/java/lang/reflect/Proxy.java index e83ab4085e0..c2420915031 100644 --- a/jdk/src/share/classes/java/lang/reflect/Proxy.java +++ b/jdk/src/share/classes/java/lang/reflect/Proxy.java @@ -610,7 +610,7 @@ public class Proxy implements java.io.Serializable { IllegalAccessException | InstantiationException | InvocationTargetException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/java/rmi/dgc/VMID.java b/jdk/src/share/classes/java/rmi/dgc/VMID.java index b4e48b3b269..c9f1647e1f1 100644 --- a/jdk/src/share/classes/java/rmi/dgc/VMID.java +++ b/jdk/src/share/classes/java/rmi/dgc/VMID.java @@ -170,7 +170,7 @@ public final class VMID implements java.io.Serializable { /* can't happen, but be deterministic anyway. */ addrHash = new byte[0]; } catch (NoSuchAlgorithmException complain) { - throw new InternalError(complain.toString()); + throw new InternalError(complain.toString(), complain); } return addrHash; } diff --git a/jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java b/jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java index ddeea61010d..cad34ac08bf 100644 --- a/jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java +++ b/jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java @@ -122,7 +122,7 @@ public class CollectionCertStoreParameters return super.clone(); } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java b/jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java index 00bf2af0c91..9c5109e12cf 100644 --- a/jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java +++ b/jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java @@ -128,7 +128,7 @@ public class LDAPCertStoreParameters implements CertStoreParameters { return super.clone(); } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/java/security/cert/PKIXCertPathChecker.java b/jdk/src/share/classes/java/security/cert/PKIXCertPathChecker.java index 0cca284501d..656a51706fd 100644 --- a/jdk/src/share/classes/java/security/cert/PKIXCertPathChecker.java +++ b/jdk/src/share/classes/java/security/cert/PKIXCertPathChecker.java @@ -175,7 +175,7 @@ public abstract class PKIXCertPathChecker implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } } diff --git a/jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java b/jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java index caea7a27f04..9bdf006415f 100644 --- a/jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java +++ b/jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java @@ -136,7 +136,7 @@ public class PKIXCertPathValidatorResult implements CertPathValidatorResult { return super.clone(); } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/java/security/cert/PKIXParameters.java b/jdk/src/share/classes/java/security/cert/PKIXParameters.java index 6f4d385d66b..ff3b335f5e3 100644 --- a/jdk/src/share/classes/java/security/cert/PKIXParameters.java +++ b/jdk/src/share/classes/java/security/cert/PKIXParameters.java @@ -683,7 +683,7 @@ public class PKIXParameters implements CertPathParameters { return copy; } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/java/security/cert/X509CRLSelector.java b/jdk/src/share/classes/java/security/cert/X509CRLSelector.java index 5bcdf4f6ad0..4258da39639 100644 --- a/jdk/src/share/classes/java/security/cert/X509CRLSelector.java +++ b/jdk/src/share/classes/java/security/cert/X509CRLSelector.java @@ -708,7 +708,7 @@ public class X509CRLSelector implements CRLSelector { return copy; } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } } diff --git a/jdk/src/share/classes/java/security/cert/X509CertSelector.java b/jdk/src/share/classes/java/security/cert/X509CertSelector.java index ea3f6b72c95..19ca2cb515d 100644 --- a/jdk/src/share/classes/java/security/cert/X509CertSelector.java +++ b/jdk/src/share/classes/java/security/cert/X509CertSelector.java @@ -2615,7 +2615,7 @@ public class X509CertSelector implements CertSelector { return copy; } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } } diff --git a/jdk/src/share/classes/java/text/AttributedString.java b/jdk/src/share/classes/java/text/AttributedString.java index 029652530af..c7c1f05d6d8 100644 --- a/jdk/src/share/classes/java/text/AttributedString.java +++ b/jdk/src/share/classes/java/text/AttributedString.java @@ -794,7 +794,7 @@ public class AttributedString { return other; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/text/BreakDictionary.java b/jdk/src/share/classes/java/text/BreakDictionary.java index 0f618051794..1e345030ace 100644 --- a/jdk/src/share/classes/java/text/BreakDictionary.java +++ b/jdk/src/share/classes/java/text/BreakDictionary.java @@ -154,7 +154,7 @@ class BreakDictionary { ); } catch (PrivilegedActionException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } byte[] buf = new byte[8]; diff --git a/jdk/src/share/classes/java/text/BreakIterator.java b/jdk/src/share/classes/java/text/BreakIterator.java index 2a007ca3719..e00e09adc31 100644 --- a/jdk/src/share/classes/java/text/BreakIterator.java +++ b/jdk/src/share/classes/java/text/BreakIterator.java @@ -254,7 +254,7 @@ public abstract class BreakIterator implements Cloneable return super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } @@ -617,7 +617,7 @@ public abstract class BreakIterator implements Cloneable } } catch (Exception e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/java/text/Collator.java b/jdk/src/share/classes/java/text/Collator.java index 555930ba14c..9b03d1608b2 100644 --- a/jdk/src/share/classes/java/text/Collator.java +++ b/jdk/src/share/classes/java/text/Collator.java @@ -461,7 +461,7 @@ public abstract class Collator try { return (Collator)super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/text/DateFormatSymbols.java b/jdk/src/share/classes/java/text/DateFormatSymbols.java index 2eeb07e3447..e5b44c6e0e3 100644 --- a/jdk/src/share/classes/java/text/DateFormatSymbols.java +++ b/jdk/src/share/classes/java/text/DateFormatSymbols.java @@ -597,7 +597,7 @@ public class DateFormatSymbols implements Serializable, Cloneable { copyMembers(this, other); return other; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/text/DecimalFormat.java b/jdk/src/share/classes/java/text/DecimalFormat.java index 90043486830..3dd9a5be94e 100644 --- a/jdk/src/share/classes/java/text/DecimalFormat.java +++ b/jdk/src/share/classes/java/text/DecimalFormat.java @@ -1891,14 +1891,10 @@ public class DecimalFormat extends NumberFormat { * Standard override; no change in semantics. */ public Object clone() { - try { - DecimalFormat other = (DecimalFormat) super.clone(); - other.symbols = (DecimalFormatSymbols) symbols.clone(); - other.digitList = (DigitList) digitList.clone(); - return other; - } catch (Exception e) { - throw new InternalError(); - } + DecimalFormat other = (DecimalFormat) super.clone(); + other.symbols = (DecimalFormatSymbols) symbols.clone(); + other.digitList = (DigitList) digitList.clone(); + return other; } /** diff --git a/jdk/src/share/classes/java/text/DecimalFormatSymbols.java b/jdk/src/share/classes/java/text/DecimalFormatSymbols.java index b3c55b82c20..71fd1fa1820 100644 --- a/jdk/src/share/classes/java/text/DecimalFormatSymbols.java +++ b/jdk/src/share/classes/java/text/DecimalFormatSymbols.java @@ -479,7 +479,7 @@ public class DecimalFormatSymbols implements Cloneable, Serializable { return (DecimalFormatSymbols)super.clone(); // other fields are bit-copied } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/text/DigitList.java b/jdk/src/share/classes/java/text/DigitList.java index a355944c1b3..ec489dbd4e9 100644 --- a/jdk/src/share/classes/java/text/DigitList.java +++ b/jdk/src/share/classes/java/text/DigitList.java @@ -632,7 +632,7 @@ final class DigitList implements Cloneable { other.tempBuffer = null; return other; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/text/Format.java b/jdk/src/share/classes/java/text/Format.java index a0ed9938f5e..2eec6671842 100644 --- a/jdk/src/share/classes/java/text/Format.java +++ b/jdk/src/share/classes/java/text/Format.java @@ -258,7 +258,7 @@ public abstract class Format implements Serializable, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // will never happen - return null; + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/text/RuleBasedBreakIterator.java b/jdk/src/share/classes/java/text/RuleBasedBreakIterator.java index c607d2c0b73..201eee71a13 100644 --- a/jdk/src/share/classes/java/text/RuleBasedBreakIterator.java +++ b/jdk/src/share/classes/java/text/RuleBasedBreakIterator.java @@ -453,7 +453,7 @@ class RuleBasedBreakIterator extends BreakIterator { ); } catch (PrivilegedActionException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } int offset = 0; diff --git a/jdk/src/share/classes/java/text/StringCharacterIterator.java b/jdk/src/share/classes/java/text/StringCharacterIterator.java index 4d10518ff28..6a24bb4e713 100644 --- a/jdk/src/share/classes/java/text/StringCharacterIterator.java +++ b/jdk/src/share/classes/java/text/StringCharacterIterator.java @@ -272,7 +272,7 @@ public final class StringCharacterIterator implements CharacterIterator return other; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/ArrayList.java b/jdk/src/share/classes/java/util/ArrayList.java index 14b0fbf5599..3b029272753 100644 --- a/jdk/src/share/classes/java/util/ArrayList.java +++ b/jdk/src/share/classes/java/util/ArrayList.java @@ -307,7 +307,7 @@ public class ArrayList extends AbstractList return v; } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/BitSet.java b/jdk/src/share/classes/java/util/BitSet.java index fa0be5701b9..e8f242c83a3 100644 --- a/jdk/src/share/classes/java/util/BitSet.java +++ b/jdk/src/share/classes/java/util/BitSet.java @@ -1092,7 +1092,7 @@ public class BitSet implements Cloneable, java.io.Serializable { result.checkInvariants(); return result; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/Calendar.java b/jdk/src/share/classes/java/util/Calendar.java index 897a891cbe8..51ec6becb55 100644 --- a/jdk/src/share/classes/java/util/Calendar.java +++ b/jdk/src/share/classes/java/util/Calendar.java @@ -2512,7 +2512,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable newSet.map = (HashMap) map.clone(); return newSet; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/Hashtable.java b/jdk/src/share/classes/java/util/Hashtable.java index 0ad5e5ad1f4..e1347168fc7 100644 --- a/jdk/src/share/classes/java/util/Hashtable.java +++ b/jdk/src/share/classes/java/util/Hashtable.java @@ -537,7 +537,7 @@ public class Hashtable return t; } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/IdentityHashMap.java b/jdk/src/share/classes/java/util/IdentityHashMap.java index 95ff9f0a7c8..930c3ac108d 100644 --- a/jdk/src/share/classes/java/util/IdentityHashMap.java +++ b/jdk/src/share/classes/java/util/IdentityHashMap.java @@ -703,7 +703,7 @@ public class IdentityHashMap m.table = table.clone(); return m; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/LinkedList.java b/jdk/src/share/classes/java/util/LinkedList.java index 94508da57f4..fd8f181f17f 100644 --- a/jdk/src/share/classes/java/util/LinkedList.java +++ b/jdk/src/share/classes/java/util/LinkedList.java @@ -994,7 +994,7 @@ public class LinkedList try { return (LinkedList) super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/Locale.java b/jdk/src/share/classes/java/util/Locale.java index 895d2d37f69..100144ebe36 100644 --- a/jdk/src/share/classes/java/util/Locale.java +++ b/jdk/src/share/classes/java/util/Locale.java @@ -1859,7 +1859,7 @@ public final class Locale implements Cloneable, Serializable { Locale that = (Locale)super.clone(); return that; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/ResourceBundle.java b/jdk/src/share/classes/java/util/ResourceBundle.java index 51b84877dc7..a4a4d55a1a5 100644 --- a/jdk/src/share/classes/java/util/ResourceBundle.java +++ b/jdk/src/share/classes/java/util/ResourceBundle.java @@ -614,7 +614,7 @@ public abstract class ResourceBundle { return clone; } catch (CloneNotSupportedException e) { //this should never happen - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/TimeZone.java b/jdk/src/share/classes/java/util/TimeZone.java index 266f627d7e2..2da2de2f42a 100644 --- a/jdk/src/share/classes/java/util/TimeZone.java +++ b/jdk/src/share/classes/java/util/TimeZone.java @@ -739,7 +739,7 @@ abstract public class TimeZone implements Serializable, Cloneable { other.ID = ID; return other; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/TreeMap.java b/jdk/src/share/classes/java/util/TreeMap.java index 6e92b8d1f78..c7aae652466 100644 --- a/jdk/src/share/classes/java/util/TreeMap.java +++ b/jdk/src/share/classes/java/util/TreeMap.java @@ -622,7 +622,7 @@ public class TreeMap try { clone = (TreeMap) super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } // Put clone into "virgin" state (except for comparator) diff --git a/jdk/src/share/classes/java/util/TreeSet.java b/jdk/src/share/classes/java/util/TreeSet.java index 3eee2a8e159..6b2a33d3b53 100644 --- a/jdk/src/share/classes/java/util/TreeSet.java +++ b/jdk/src/share/classes/java/util/TreeSet.java @@ -474,7 +474,7 @@ public class TreeSet extends AbstractSet try { clone = (TreeSet) super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } clone.m = new TreeMap<>(m); diff --git a/jdk/src/share/classes/java/util/UUID.java b/jdk/src/share/classes/java/util/UUID.java index c7948c99d11..448429849b9 100644 --- a/jdk/src/share/classes/java/util/UUID.java +++ b/jdk/src/share/classes/java/util/UUID.java @@ -165,7 +165,7 @@ public final class UUID implements java.io.Serializable, Comparable { try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException nsae) { - throw new InternalError("MD5 not supported"); + throw new InternalError("MD5 not supported", nsae); } byte[] md5Bytes = md.digest(name); md5Bytes[6] &= 0x0f; /* clear version */ diff --git a/jdk/src/share/classes/java/util/Vector.java b/jdk/src/share/classes/java/util/Vector.java index 0d69591abce..be74f617f5c 100644 --- a/jdk/src/share/classes/java/util/Vector.java +++ b/jdk/src/share/classes/java/util/Vector.java @@ -673,7 +673,7 @@ public class Vector return v; } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/java/util/zip/ZipEntry.java b/jdk/src/share/classes/java/util/zip/ZipEntry.java index b2b25620ae8..8ade6d6bb30 100644 --- a/jdk/src/share/classes/java/util/zip/ZipEntry.java +++ b/jdk/src/share/classes/java/util/zip/ZipEntry.java @@ -321,7 +321,7 @@ class ZipEntry implements ZipConstants, Cloneable { return e; } catch (CloneNotSupportedException e) { // This should never happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/javax/management/openmbean/TabularDataSupport.java b/jdk/src/share/classes/javax/management/openmbean/TabularDataSupport.java index cac5bf16c6c..d41baaea747 100644 --- a/jdk/src/share/classes/javax/management/openmbean/TabularDataSupport.java +++ b/jdk/src/share/classes/javax/management/openmbean/TabularDataSupport.java @@ -671,7 +671,7 @@ public class TabularDataSupport return c; } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/javax/swing/text/ElementIterator.java b/jdk/src/share/classes/javax/swing/text/ElementIterator.java index 6bde7ec6eb5..6b749e07a97 100644 --- a/jdk/src/share/classes/javax/swing/text/ElementIterator.java +++ b/jdk/src/share/classes/javax/swing/text/ElementIterator.java @@ -157,7 +157,7 @@ public class ElementIterator implements Cloneable { } return it; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/javax/swing/text/rtf/RTFReader.java b/jdk/src/share/classes/javax/swing/text/rtf/RTFReader.java index 7eac94404a5..5fd48246be8 100644 --- a/jdk/src/share/classes/javax/swing/text/rtf/RTFReader.java +++ b/jdk/src/share/classes/javax/swing/text/rtf/RTFReader.java @@ -528,7 +528,7 @@ public void setCharacterSet(String name) try { translationTable = (char[])getCharacterSet("ansi"); } catch (IOException e) { - throw new InternalError("RTFReader: Unable to find character set resources (" + e + ")"); + throw new InternalError("RTFReader: Unable to find character set resources (" + e + ")", e); } } } @@ -1614,7 +1614,7 @@ class DocumentDestination } catch (BadLocationException ble) { /* This shouldn't be able to happen, of course */ /* TODO is InternalError the correct error to throw? */ - throw new InternalError(ble.getMessage()); + throw new InternalError(ble.getMessage(), ble); } } @@ -1628,7 +1628,7 @@ class DocumentDestination } catch (BadLocationException ble) { /* This shouldn't be able to happen, of course */ /* TODO is InternalError the correct error to throw? */ - throw new InternalError(ble.getMessage()); + throw new InternalError(ble.getMessage(), ble); } } diff --git a/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java b/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java index 51f398ab935..ae9340b94a6 100644 --- a/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java +++ b/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java @@ -158,7 +158,7 @@ public class DuctusRenderingEngine extends RenderingEngine { feedConsumer(pi, consumer, normalize, 0.25f); } catch (PathException e) { throw new InternalError("Unable to Stroke shape ("+ - e.getMessage()+")"); + e.getMessage()+")", e); } finally { while (consumer != null && consumer != sr) { PathConsumer next = consumer.getConsumer(); @@ -763,7 +763,7 @@ public class DuctusRenderingEngine extends RenderingEngine { consumer.endPath(); } catch (PathException e) { throw new InternalError("Unable to Stroke shape ("+ - e.getMessage()+")"); + e.getMessage()+")", e); } } diff --git a/jdk/src/share/classes/sun/font/FontLineMetrics.java b/jdk/src/share/classes/sun/font/FontLineMetrics.java index b2e3e5cbedc..57e1ffa279b 100644 --- a/jdk/src/share/classes/sun/font/FontLineMetrics.java +++ b/jdk/src/share/classes/sun/font/FontLineMetrics.java @@ -113,7 +113,7 @@ public final class FontLineMetrics extends LineMetrics implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } } diff --git a/jdk/src/share/classes/sun/font/GlyphLayout.java b/jdk/src/share/classes/sun/font/GlyphLayout.java index 03537b4d6a4..100b66b9809 100644 --- a/jdk/src/share/classes/sun/font/GlyphLayout.java +++ b/jdk/src/share/classes/sun/font/GlyphLayout.java @@ -233,7 +233,7 @@ public final class GlyphLayout { invdtx = dtx.createInverse(); } catch (NoninvertibleTransformException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/sun/invoke/util/ValueConversions.java b/jdk/src/share/classes/sun/invoke/util/ValueConversions.java index 9179785981b..cab961a0ff2 100644 --- a/jdk/src/share/classes/sun/invoke/util/ValueConversions.java +++ b/jdk/src/share/classes/sun/invoke/util/ValueConversions.java @@ -677,9 +677,7 @@ public class ValueConversions { EMPTY = IMPL_LOOKUP.findStatic(THIS_CLASS, "empty", ignoreType.dropParameterTypes(0, 1)); NEW_ARRAY = IMPL_LOOKUP.findStatic(THIS_CLASS, "newArray", MethodType.methodType(Object[].class, int.class)); } catch (NoSuchMethodException | IllegalAccessException ex) { - Error err = new InternalError("uncaught exception"); - err.initCause(ex); - throw err; + throw new InternalError("uncaught exception", ex); } } @@ -693,9 +691,7 @@ public class ValueConversions { COPY_AS_PRIMITIVE_ARRAY = IMPL_LOOKUP.findStatic(THIS_CLASS, "copyAsPrimitiveArray", MethodType.methodType(Object.class, Wrapper.class, Object[].class)); MAKE_LIST = IMPL_LOOKUP.findStatic(THIS_CLASS, "makeList", MethodType.methodType(List.class, Object[].class)); } catch (ReflectiveOperationException ex) { - Error err = new InternalError("uncaught exception"); - err.initCause(ex); - throw err; + throw new InternalError("uncaught exception", ex); } } } diff --git a/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java b/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java index 3df4adc893c..e975cc9c3cd 100644 --- a/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java +++ b/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java @@ -281,9 +281,8 @@ public class LoopPipe } catch (Throwable t) { sr.dispose(); sr = null; - t.printStackTrace(); throw new InternalError("Unable to Stroke shape ("+ - t.getMessage()+")"); + t.getMessage()+")", t); } return sr; } diff --git a/jdk/src/share/classes/sun/management/counter/perf/PerfDataEntry.java b/jdk/src/share/classes/sun/management/counter/perf/PerfDataEntry.java index 8a38b6e88af..0136d2e4b61 100644 --- a/jdk/src/share/classes/sun/management/counter/perf/PerfDataEntry.java +++ b/jdk/src/share/classes/sun/management/counter/perf/PerfDataEntry.java @@ -133,7 +133,7 @@ class PerfDataEntry { catch (UnsupportedEncodingException e) { // should not reach here // "UTF-8" is always a known encoding - throw new InternalError(e.getMessage()); + throw new InternalError(e.getMessage(), e); } if (variability == Variability.INVALID) { diff --git a/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java b/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java index aba2831948e..215003eab91 100644 --- a/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java +++ b/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java @@ -93,7 +93,7 @@ class PerfDataType { this.value = b[0]; } catch (UnsupportedEncodingException e) { // ignore, "UTF-8" is always a known encoding - throw new InternalError("Unknown encoding"); + throw new InternalError("Unknown encoding", e); } } } diff --git a/jdk/src/share/classes/sun/misc/Launcher.java b/jdk/src/share/classes/sun/misc/Launcher.java index 97d437e3efb..3d9b336edc2 100644 --- a/jdk/src/share/classes/sun/misc/Launcher.java +++ b/jdk/src/share/classes/sun/misc/Launcher.java @@ -71,7 +71,7 @@ public class Launcher { extcl = ExtClassLoader.getExtClassLoader(); } catch (IOException e) { throw new InternalError( - "Could not create extension class loader"); + "Could not create extension class loader", e); } // Now create the class loader to use to launch the application @@ -79,7 +79,7 @@ public class Launcher { loader = AppClassLoader.getAppClassLoader(extcl); } catch (IOException e) { throw new InternalError( - "Could not create application class loader"); + "Could not create application class loader", e); } // Also set the context class loader for the primordial thread. @@ -460,7 +460,7 @@ public class Launcher { return ParseUtil.fileToEncodedURL(file); } catch (MalformedURLException e) { // Should never happen since we specify the protocol... - throw new InternalError(); + throw new InternalError(e); } } @@ -475,15 +475,10 @@ public class Launcher { try { Class c = Class.forName(name); return (URLStreamHandler)c.newInstance(); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); + } catch (ReflectiveOperationException e) { + throw new InternalError("could not load " + protocol + + "system protocol handler", e); } - throw new InternalError("could not load " + protocol + - "system protocol handler"); } } } diff --git a/jdk/src/share/classes/sun/misc/ProxyGenerator.java b/jdk/src/share/classes/sun/misc/ProxyGenerator.java index 7e3cc91821f..c66f82ce8f1 100644 --- a/jdk/src/share/classes/sun/misc/ProxyGenerator.java +++ b/jdk/src/share/classes/sun/misc/ProxyGenerator.java @@ -460,7 +460,7 @@ public class ProxyGenerator { methods.add(generateStaticInitializer()); } catch (IOException e) { - throw new InternalError("unexpected I/O Exception"); + throw new InternalError("unexpected I/O Exception", e); } if (methods.size() > 65535) { @@ -540,7 +540,7 @@ public class ProxyGenerator { dout.writeShort(0); // (no ClassFile attributes for proxy classes) } catch (IOException e) { - throw new InternalError("unexpected I/O Exception"); + throw new InternalError("unexpected I/O Exception", e); } return bout.toByteArray(); diff --git a/jdk/src/share/classes/sun/net/NetworkClient.java b/jdk/src/share/classes/sun/net/NetworkClient.java index 89d49942c6a..8b7886ddf2d 100644 --- a/jdk/src/share/classes/sun/net/NetworkClient.java +++ b/jdk/src/share/classes/sun/net/NetworkClient.java @@ -139,7 +139,7 @@ public class NetworkClient { serverSocket.getOutputStream()), true, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding +"encoding not found"); + throw new InternalError(encoding +"encoding not found", e); } serverInput = new BufferedInputStream(serverSocket.getInputStream()); } diff --git a/jdk/src/share/classes/sun/net/NetworkServer.java b/jdk/src/share/classes/sun/net/NetworkServer.java index cb6d4c81693..fb54aa24546 100644 --- a/jdk/src/share/classes/sun/net/NetworkServer.java +++ b/jdk/src/share/classes/sun/net/NetworkServer.java @@ -142,7 +142,7 @@ public class NetworkServer implements Runnable, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java b/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java index 1406674c5a9..885d858b3a9 100644 --- a/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java +++ b/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java @@ -905,7 +905,7 @@ public class FtpClient extends sun.net.ftp.FtpClient { out = new PrintStream(new BufferedOutputStream(server.getOutputStream()), true, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding + "encoding not found"); + throw new InternalError(encoding + "encoding not found", e); } in = new BufferedInputStream(server.getInputStream()); } @@ -1621,7 +1621,7 @@ public class FtpClient extends sun.net.ftp.FtpClient { out = new PrintStream(new BufferedOutputStream(server.getOutputStream()), true, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding + "encoding not found"); + throw new InternalError(encoding + "encoding not found", e); } in = new BufferedInputStream(server.getInputStream()); } @@ -2056,7 +2056,7 @@ public class FtpClient extends sun.net.ftp.FtpClient { out = new PrintStream(new BufferedOutputStream(server.getOutputStream()), true, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding + "encoding not found"); + throw new InternalError(encoding + "encoding not found", e); } in = new BufferedInputStream(server.getInputStream()); @@ -2090,7 +2090,7 @@ public class FtpClient extends sun.net.ftp.FtpClient { out = new PrintStream(new BufferedOutputStream(server.getOutputStream()), true, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding + "encoding not found"); + throw new InternalError(encoding + "encoding not found", e); } in = new BufferedInputStream(server.getInputStream()); diff --git a/jdk/src/share/classes/sun/net/smtp/SmtpClient.java b/jdk/src/share/classes/sun/net/smtp/SmtpClient.java index d97b16affce..7886220d9b9 100644 --- a/jdk/src/share/classes/sun/net/smtp/SmtpClient.java +++ b/jdk/src/share/classes/sun/net/smtp/SmtpClient.java @@ -134,7 +134,7 @@ public class SmtpClient extends TransferProtocolClient { try { message = new SmtpPrintStream(serverOutput, this); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding+" encoding not found"); + throw new InternalError(encoding+" encoding not found", e); } return message; } diff --git a/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java b/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java index 2a0e35a86a0..dfe57c422a6 100644 --- a/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java +++ b/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java @@ -79,7 +79,7 @@ public class ChunkedOutputStream extends PrintStream { return header; } catch (java.io.UnsupportedEncodingException e) { /* This should never happen */ - throw new InternalError(e.getMessage()); + throw new InternalError(e.getMessage(), e); } } diff --git a/jdk/src/share/classes/sun/net/www/http/HttpClient.java b/jdk/src/share/classes/sun/net/www/http/HttpClient.java index 966fd821fb5..fa8184f5927 100644 --- a/jdk/src/share/classes/sun/net/www/http/HttpClient.java +++ b/jdk/src/share/classes/sun/net/www/http/HttpClient.java @@ -395,7 +395,7 @@ public class HttpClient extends NetworkClient { new BufferedOutputStream(out), false, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding+" encoding not found"); + throw new InternalError(encoding+" encoding not found", e); } serverSocket.setTcpNoDelay(true); } diff --git a/jdk/src/share/classes/sun/net/www/protocol/gopher/GopherClient.java b/jdk/src/share/classes/sun/net/www/protocol/gopher/GopherClient.java index dd19d40bfcf..41c6b8d2894 100644 --- a/jdk/src/share/classes/sun/net/www/protocol/gopher/GopherClient.java +++ b/jdk/src/share/classes/sun/net/www/protocol/gopher/GopherClient.java @@ -324,7 +324,7 @@ public class GopherClient extends NetworkClient implements Runnable { } } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding+ " encoding not found"); + throw new InternalError(encoding+ " encoding not found", e); } catch (IOException e) { } finally { try { diff --git a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java index 24618e89b61..cffc12c7260 100644 --- a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java +++ b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java @@ -529,7 +529,7 @@ final class HttpsClient extends HttpClient new BufferedOutputStream(serverSocket.getOutputStream()), false, encoding); } catch (UnsupportedEncodingException e) { - throw new InternalError(encoding+" encoding not found"); + throw new InternalError(encoding+" encoding not found", e); } // check URL spoofing if it has not been checked under handshaking diff --git a/jdk/src/share/classes/sun/nio/ch/Util.java b/jdk/src/share/classes/sun/nio/ch/Util.java index 514bb27091a..9aa7c162854 100644 --- a/jdk/src/share/classes/sun/nio/ch/Util.java +++ b/jdk/src/share/classes/sun/nio/ch/Util.java @@ -373,7 +373,7 @@ class Util { NoSuchMethodException | IllegalArgumentException | ClassCastException x) { - throw new InternalError(); + throw new InternalError(x); } return null; }}); @@ -395,7 +395,7 @@ class Util { } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { - throw new InternalError(); + throw new InternalError(e); } return dbb; } @@ -418,7 +418,7 @@ class Util { NoSuchMethodException | IllegalArgumentException | ClassCastException x) { - throw new InternalError(); + throw new InternalError(x); } return null; }}); @@ -440,7 +440,7 @@ class Util { } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { - throw new InternalError(); + throw new InternalError(e); } return dbb; } diff --git a/jdk/src/share/classes/sun/reflect/UTF8.java b/jdk/src/share/classes/sun/reflect/UTF8.java index 22f6c777f46..fa791eb4f1d 100644 --- a/jdk/src/share/classes/sun/reflect/UTF8.java +++ b/jdk/src/share/classes/sun/reflect/UTF8.java @@ -52,7 +52,7 @@ class UTF8 { } } catch (ArrayIndexOutOfBoundsException e) { throw new InternalError - ("Bug in sun.reflect bootstrap UTF-8 encoder"); + ("Bug in sun.reflect bootstrap UTF-8 encoder", e); } return res; } diff --git a/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java b/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java index 5784ced277f..0eade8de571 100644 --- a/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java +++ b/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java @@ -292,7 +292,7 @@ public final class MethodUtil extends SecureClassLoader { } }); } catch (Exception e) { - throw new InternalError("bouncer cannot be found"); + throw new InternalError("bouncer cannot be found", e); } } diff --git a/jdk/src/share/classes/sun/rmi/transport/LiveRef.java b/jdk/src/share/classes/sun/rmi/transport/LiveRef.java index 8643a060a5b..3cde2f96a52 100644 --- a/jdk/src/share/classes/sun/rmi/transport/LiveRef.java +++ b/jdk/src/share/classes/sun/rmi/transport/LiveRef.java @@ -111,7 +111,7 @@ public class LiveRef implements Cloneable { LiveRef newRef = (LiveRef) super.clone(); return newRef; } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/sun/security/provider/SecureRandom.java b/jdk/src/share/classes/sun/security/provider/SecureRandom.java index 6dd50d6b563..aee8846ed14 100644 --- a/jdk/src/share/classes/sun/security/provider/SecureRandom.java +++ b/jdk/src/share/classes/sun/security/provider/SecureRandom.java @@ -249,7 +249,7 @@ implements java.io.Serializable { try { digest = MessageDigest.getInstance ("SHA"); } catch (NoSuchAlgorithmException e) { - throw new InternalError("internal error: SHA-1 not available."); + throw new InternalError("internal error: SHA-1 not available.", e); } } } diff --git a/jdk/src/share/classes/sun/security/provider/SeedGenerator.java b/jdk/src/share/classes/sun/security/provider/SeedGenerator.java index efbfba933cd..8f6127a7ef0 100644 --- a/jdk/src/share/classes/sun/security/provider/SeedGenerator.java +++ b/jdk/src/share/classes/sun/security/provider/SeedGenerator.java @@ -151,7 +151,8 @@ abstract class SeedGenerator { try { md = MessageDigest.getInstance("SHA"); } catch (NoSuchAlgorithmException nsae) { - throw new InternalError("internal error: SHA-1 not available."); + throw new InternalError("internal error: SHA-1 not available." + , nsae); } // The current time in millis @@ -258,7 +259,8 @@ abstract class SeedGenerator { try { digest = MessageDigest.getInstance("SHA"); } catch (NoSuchAlgorithmException e) { - throw new InternalError("internal error: SHA-1 not available."); + throw new InternalError("internal error: SHA-1 not available." + , e); } final ThreadGroup[] finalsg = new ThreadGroup[1]; @@ -311,7 +313,8 @@ abstract class SeedGenerator { t.start(); } catch (Exception e) { throw new InternalError("internal error: " + - "SeedGenerator thread creation error."); + "SeedGenerator thread creation error." + , e); } // We wait 250milli quanta, so the minimum wait time @@ -344,7 +347,8 @@ abstract class SeedGenerator { } } catch (Exception e) { throw new InternalError("internal error: " + - "SeedGenerator thread generated an exception."); + "SeedGenerator thread generated an exception." + , e); } } @@ -367,7 +371,8 @@ abstract class SeedGenerator { } catch (Exception e) { if (count <= 0) throw new InternalError("internal error: " + - "SeedGenerator thread generated an exception."); + "SeedGenerator thread generated an exception." + ,e); } synchronized(this) { @@ -533,7 +538,7 @@ abstract class SeedGenerator { } catch (IOException ioe) { throw new InternalError("URLSeedGenerator " + deviceName + " generated exception: " + - ioe.getMessage()); + ioe.getMessage(), ioe); } } diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ForwardState.java b/jdk/src/share/classes/sun/security/provider/certpath/ForwardState.java index 0645c926b58..60de90417ff 100644 --- a/jdk/src/share/classes/sun/security/provider/certpath/ForwardState.java +++ b/jdk/src/share/classes/sun/security/provider/certpath/ForwardState.java @@ -262,7 +262,7 @@ class ForwardState implements State { = (HashSet)subjectNamesTraversed.clone(); return clonedState; } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } } diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java b/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java index 195def6fa2e..a5e8093d0d1 100644 --- a/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java +++ b/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java @@ -394,7 +394,7 @@ class ReverseState implements State { return clonedState; } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } } diff --git a/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java b/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java index 117685f6118..321f9153ec3 100644 --- a/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java +++ b/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java @@ -494,7 +494,7 @@ class URICertStore extends CertStoreSpi { return super.clone(); } catch (CloneNotSupportedException e) { /* Cannot happen */ - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } } diff --git a/jdk/src/share/classes/sun/security/util/SecurityConstants.java b/jdk/src/share/classes/sun/security/util/SecurityConstants.java index f11a4869783..08bdaeb03fe 100644 --- a/jdk/src/share/classes/sun/security/util/SecurityConstants.java +++ b/jdk/src/share/classes/sun/security/util/SecurityConstants.java @@ -127,10 +127,8 @@ public final class SecurityConstants { // AWT present try { return (PermissionFactory)c.newInstance(); - } catch (InstantiationException x) { - throw new InternalError(x.getMessage()); - } catch (IllegalAccessException x) { - throw new InternalError(x.getMessage()); + } catch (ReflectiveOperationException x) { + throw new InternalError(x.getMessage(), x); } } else { // AWT not present diff --git a/jdk/src/share/classes/sun/text/CompactByteArray.java b/jdk/src/share/classes/sun/text/CompactByteArray.java index 3e42e3c3eb6..042d88ff271 100644 --- a/jdk/src/share/classes/sun/text/CompactByteArray.java +++ b/jdk/src/share/classes/sun/text/CompactByteArray.java @@ -269,7 +269,7 @@ public final class CompactByteArray implements Cloneable { if (hashes != null) other.hashes = (int[])hashes.clone(); return other; } catch (CloneNotSupportedException e) { - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java b/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java index 5282294f214..576e67bd978 100644 --- a/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java +++ b/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java @@ -636,7 +636,7 @@ public final class NormalizerBase implements Cloneable { return copy; } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java b/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java index a2339fc6610..08535a1fff6 100644 --- a/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java +++ b/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java @@ -89,7 +89,7 @@ public abstract class HotSpotAttachProvider extends AttachProvider { if (t instanceof SecurityException) { return result; } - throw new InternalError(); // shouldn't happen + throw new InternalError(t); // shouldn't happen } for (Object vmid: vms) { diff --git a/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java b/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java index feb8628a355..2a217733adf 100644 --- a/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java +++ b/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java @@ -102,7 +102,7 @@ public abstract class HotSpotVirtualMachine extends VirtualMachine { try { loadAgentLibrary("instrument", args); } catch (AgentLoadException x) { - throw new InternalError("instrument library is missing in target VM"); + throw new InternalError("instrument library is missing in target VM", x); } catch (AgentInitializationException x) { /* * Translate interesting errors into the right exception and @@ -212,7 +212,7 @@ public abstract class HotSpotVirtualMachine extends VirtualMachine { try { return execute(cmd, args); } catch (AgentLoadException x) { - throw new InternalError("Should not get here"); + throw new InternalError("Should not get here", x); } } diff --git a/jdk/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java b/jdk/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java index e41ae7c5058..c99f99f8b13 100644 --- a/jdk/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java +++ b/jdk/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java @@ -135,10 +135,8 @@ public class LocalVirtualMachine { try { host = MonitoredHost.getMonitoredHost(new HostIdentifier((String)null)); vms = host.activeVms(); - } catch (java.net.URISyntaxException sx) { - throw new InternalError(sx.getMessage()); - } catch (MonitorException mx) { - throw new InternalError(mx.getMessage()); + } catch (java.net.URISyntaxException | MonitorException x) { + throw new InternalError(x.getMessage(), x); } for (Object vmid: vms) { if (vmid instanceof Integer) { diff --git a/jdk/src/share/classes/sun/tools/tree/Node.java b/jdk/src/share/classes/sun/tools/tree/Node.java index 44cc4e96400..da71ec5f49c 100644 --- a/jdk/src/share/classes/sun/tools/tree/Node.java +++ b/jdk/src/share/classes/sun/tools/tree/Node.java @@ -108,7 +108,7 @@ class Node implements Constants, Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java b/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java index 77cba5b2cc5..432199927ab 100644 --- a/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java +++ b/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java @@ -26,18 +26,15 @@ package sun.tracing.dtrace; import java.lang.reflect.Method; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.annotation.Annotation; -import java.util.HashMap; import sun.tracing.ProviderSkeleton; import sun.tracing.ProbeSkeleton; import com.sun.tracing.Provider; -import com.sun.tracing.ProviderName; import com.sun.tracing.ProbeName; import com.sun.tracing.dtrace.Attributes; import com.sun.tracing.dtrace.ModuleName; @@ -140,14 +137,8 @@ class DTraceProvider extends ProviderSkeleton { try { Constructor cons = proxyClass.getConstructor(constructorParams); return (T)cons.newInstance(new Object[] { this }); - } catch (NoSuchMethodException e) { - throw new InternalError(e.toString()); - } catch (IllegalAccessException e) { - throw new InternalError(e.toString()); - } catch (InstantiationException e) { - throw new InternalError(e.toString()); - } catch (InvocationTargetException e) { - throw new InternalError(e.toString()); + } catch (ReflectiveOperationException e) { + throw new InternalError(e.toString(), e); } } diff --git a/jdk/src/share/classes/sun/util/calendar/CalendarDate.java b/jdk/src/share/classes/sun/util/calendar/CalendarDate.java index 205415ec249..70c1bed6187 100644 --- a/jdk/src/share/classes/sun/util/calendar/CalendarDate.java +++ b/jdk/src/share/classes/sun/util/calendar/CalendarDate.java @@ -435,7 +435,7 @@ public abstract class CalendarDate implements Cloneable { return super.clone(); } catch (CloneNotSupportedException e) { // this shouldn't happen - throw new InternalError(); + throw new InternalError(e); } } diff --git a/jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java b/jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java index 68cf51251f7..56d7a14e961 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java @@ -157,7 +157,7 @@ abstract public class XBaseMenuWindow extends XWindow { try { return super.clone(); } catch (CloneNotSupportedException ex) { - throw new InternalError(); + throw new InternalError(ex); } } diff --git a/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java index 6f36f7ae326..c79fdc3bea3 100644 --- a/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java @@ -131,7 +131,7 @@ public class XMenuItemPeer implements MenuItemPeer { try { return super.clone(); } catch (CloneNotSupportedException ex) { - throw new InternalError(); + throw new InternalError(ex); } } diff --git a/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java b/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java index e749c6af10b..ae7212a3cc3 100644 --- a/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java +++ b/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java @@ -64,7 +64,7 @@ class InheritedChannel { dup2(devnull, 2); } catch (IOException ioe) { // this shouldn't happen - throw new InternalError(); + throw new InternalError(ioe); } } diff --git a/jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java b/jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java index e2279befe34..632089e2fae 100644 --- a/jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java +++ b/jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java @@ -304,7 +304,7 @@ public class LinuxVirtualMachine extends HotSpotVirtualMachine { try { b = s.getBytes("UTF-8"); } catch (java.io.UnsupportedEncodingException x) { - throw new InternalError(); + throw new InternalError(x); } LinuxVirtualMachine.write(fd, b, 0, b.length); }