diff --git a/engine/src/networking/com/jme3/network/serializing/SerializerException.java b/engine/src/networking/com/jme3/network/serializing/SerializerException.java new file mode 100644 index 000000000..d4d6b790b --- /dev/null +++ b/engine/src/networking/com/jme3/network/serializing/SerializerException.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2011 jMonkeyEngine + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'jMonkeyEngine' nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.jme3.network.serializing; + +import java.io.IOException; + +/** + * A general exception from the serialization routines. + * + * @version $Revision$ + * @author Paul Speed + */ +public class SerializerException extends IOException +{ + public SerializerException( String msg, Throwable cause ) + { + super( msg ); + initCause(cause); + } + + public SerializerException( String msg ) + { + super( msg ); + } +} diff --git a/engine/src/networking/com/jme3/network/serializing/serializers/FieldSerializer.java b/engine/src/networking/com/jme3/network/serializing/serializers/FieldSerializer.java index 05ce82a06..742e5c45c 100644 --- a/engine/src/networking/com/jme3/network/serializing/serializers/FieldSerializer.java +++ b/engine/src/networking/com/jme3/network/serializing/serializers/FieldSerializer.java @@ -34,6 +34,7 @@ package com.jme3.network.serializing.serializers; import com.jme3.network.message.Message; import com.jme3.network.serializing.Serializer; +import com.jme3.network.serializing.SerializerException; import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.Modifier; @@ -109,7 +110,7 @@ public class FieldSerializer extends Serializer { try { field.set(object, value); } catch (IllegalAccessException e) { - throw new IOException(e.toString()); + throw new SerializerException( "Error reading object", e); } } return object; @@ -140,7 +141,7 @@ public class FieldSerializer extends Serializer { throw boe; } catch (Exception e) { log.log(Level.WARNING, "[FieldSerializer][???] Exception occurred on writing. Maybe you've forgotten to register a class, or maybe a class member does not have a serializer."); - throw new IOException(e.toString()); + throw new SerializerException( "Error writing object", e); } } }