String size: 13 Button size: 4347 Tree size: 5628 Exception in thread "main" java.io.NotSerializableException: java.lang.Object at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) ...
Exception in thread "main" java.io.NotSerializableException: HouseSurvey at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) at HouseSurvey.doPost(HouseSurvey.java:36) at HouseSurvey.main(HouseSurvey.java:9)
writeObject0(obj, true); } catch (IOException ex) { if (depth == 0) {
writeObject0(obj, true); } catch (IOException ex) { if (depth == 0) {
writeObject0(obj, false); } catch (IOException ex) { if (depth == 0) {
writeObject0(obj, false); } catch (IOException ex) { if (depth == 0) {
/** * Attempts to write to stream fatal IOException that has caused * serialization to abort. */ private void writeFatalException(IOException ex) throws IOException { /* * Note: the serialization specification states that if a second * IOException occurs while attempting to serialize the original fatal * exception to the stream, then a StreamCorruptedException should be * thrown (section 2.1). However, due to a bug in previous * implementations of serialization, StreamCorruptedExceptions were * rarely (if ever) actually thrown--the "root" exceptions from * underlying streams were thrown instead. This historical behavior is * followed here for consistency. */ clear(); boolean oldMode = bout.setBlockDataMode(false); try { bout.writeByte(TC_EXCEPTION); writeObject0(ex, false); clear(); } finally { bout.setBlockDataMode(oldMode); } }
/** * Attempts to write to stream fatal IOException that has caused * serialization to abort. */ private void writeFatalException(IOException ex) throws IOException { /* * Note: the serialization specification states that if a second * IOException occurs while attempting to serialize the original fatal * exception to the stream, then a StreamCorruptedException should be * thrown (section 2.1). However, due to a bug in previous * implementations of serialization, StreamCorruptedExceptions were * rarely (if ever) actually thrown--the "root" exceptions from * underlying streams were thrown instead. This historical behavior is * followed here for consistency. */ clear(); boolean oldMode = bout.setBlockDataMode(false); try { bout.writeByte(TC_EXCEPTION); writeObject0(ex, false); clear(); } finally { bout.setBlockDataMode(oldMode); } }
writeObject0(objVals[i], fields[numPrimFields + i].isUnshared()); } finally {
writeObject0(objVals[i], fields[numPrimFields + i].isUnshared()); } finally {
writeObject0(objs[i], false); } finally { if (extendedDebugInfo) {
writeObject0(objs[i], false); } finally { if (extendedDebugInfo) {