### Question:
StringValue implements Value { @Override public double asDouble() { try { return Double.parseDouble(value); } catch (NumberFormatException e) { throw new TypeConversionException(); } } StringValue(String value); @Override double asDouble(); @Override float asFloat(); @Override long asLong(); @Override int asInt(); @Override short asShort(); @Override byte asByte(); @Override boolean asBoolean(); @Override byte[] asByteArray(); @Override String toString(); @Override String asString();  }### Answer:
@Test(expected = TypeConversionException.class) public void testException() throws Exception { new StringValue("98394kdbk").asDouble(); }