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.