So if an InternalError were to be used instead, the code would be like:

                try {
                    int i = parseInt(integerCacheHighPropValue);
                    i = Math.max(i, 127);
                    // Maximum array size is Integer.MAX_VALUE
                    h = Math.min(i, Integer.MAX_VALUE - (-low) -1);
                } catch(NumberFormatException nfe) {
                    // Recast the exception to an InternalError with a sensible 
message.
                    throw new InternalError(nfe.toString() +
                            ": cannot parse value specified for 
java.lang.Integer.IntegerCache.high property");
                }

But that avoids the real question here, which is whether VM startup should be 
prevented by the value supplied for an internal property not being able to be 
parsed.

Brian

On May 29, 2013, at 11:49 AM, Brian Burkhalter wrote:

> Problem is that the String in the NumberFormatException in this case does not 
> contain the reason, only the offending String. The parseInt() would need to 
> be changed accordingly to make this intelligible.
> 
> I have no strong preference but it does not seem to me that failing to start 
> the VM is a great plan.

Reply via email to