classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch: merge File.toURI() from Classpath


From: Bryce McKinlay
Subject: Re: Patch: merge File.toURI() from Classpath
Date: Tue, 06 Jul 2004 11:41:39 -0400
User-agent: Mozilla Thunderbird 0.5 (X11/20040626)

Ranjit Mathew wrote:

Mohan Embar wrote:
Just out of curiosity, why is the result of new InternalError()
being explicitly cast to an InternalError?

Look closely - it's the return value (a Throwable) from
initCause() that is being cast into an InternalError:

+        // Can't happen.
+        throw (InternalError) new InternalError("Unconvertible file: "
+                                               + this).initCause(use);

I wonder if we should standardize on using RuntimeException in these cases. A quick grep through the source code shows that we use both InternalError and RuntimeException for these "shouldn't/can't happen" catch blocks in various cases. I think RuntimeException would be a better choice, since it has a proper "cause" constructor for re-throwing exceptions.

Its also probably not worth bothering with string constants in the "can't happen" cases. This case could be rewritten as:

--- File.java   6 Jul 2004 02:52:54 -0000       1.39
+++ File.java   6 Jul 2004 15:38:12 -0000
@@ -893,8 +893,7 @@
    catch (URISyntaxException use)
      {
        // Can't happen.
-        throw (InternalError) new InternalError("Unconvertible file: "
-                                               + this).initCause(use);
+       throw new RuntimeException(use);
      }
  }

Bryce





reply via email to

[Prev in Thread] Current Thread [Next in Thread]